Files
scylladb/sstables/sstable_version.hh
Piotr Jastrzebski 561ca34ec2 sstable: Make component_map version dependent
Introduce sstable_version_constants that will be a proxy
serving correct constants depending on the format version.

Signed-off-by: Piotr Jastrzebski <piotr@scylladb.com>
2018-04-24 11:30:26 +02:00

43 lines
1.2 KiB
C++

/*
* Copyright (C) 2018 ScyllaDB
*
*/
/*
* This file is part of Scylla.
*
* Scylla is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* Scylla is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Scylla. If not, see <http://www.gnu.org/licenses/>.
*/
#pragma once
#include "types.hh"
#include "version.hh"
#include "component_type.hh"
namespace sstables {
class sstable_version_constants {
public:
using component_map_t = std::unordered_map<component_type, sstring, enum_hash<component_type>>;
static const sstring TOC_SUFFIX;
static const sstring TEMPORARY_TOC_SUFFIX;
static const component_map_t& get_component_map(sstable_version_types);
sstable_version_constants() = delete;
protected:
static component_map_t create_component_map();
};
}