mirror of
https://github.com/BlackMATov/flat.hpp.git
synced 2025-12-15 10:16:20 +07:00
add common fwd header
This commit is contained in:
44
headers/flat.hpp/flat_fwd.hpp
Normal file
44
headers/flat.hpp/flat_fwd.hpp
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
/*******************************************************************************
|
||||||
|
* This file is part of the "https://github.com/blackmatov/flat.hpp"
|
||||||
|
* For conditions of distribution and use, see copyright notice in LICENSE.md
|
||||||
|
* Copyright (C) 2019, by Matvey Cherevko (blackmatov@gmail.com)
|
||||||
|
******************************************************************************/
|
||||||
|
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include <vector>
|
||||||
|
#include <cassert>
|
||||||
|
#include <utility>
|
||||||
|
#include <algorithm>
|
||||||
|
#include <functional>
|
||||||
|
#include <type_traits>
|
||||||
|
#include <initializer_list>
|
||||||
|
|
||||||
|
#include "detail/eq_compare.hpp"
|
||||||
|
#include "detail/pair_compare.hpp"
|
||||||
|
#include "detail/is_transparent.hpp"
|
||||||
|
|
||||||
|
namespace flat_hpp
|
||||||
|
{
|
||||||
|
template < typename Key
|
||||||
|
, typename Compare = std::less<Key>
|
||||||
|
, typename Container = std::vector<Key> >
|
||||||
|
class flat_set;
|
||||||
|
|
||||||
|
template < typename Key
|
||||||
|
, typename Compare = std::less<Key>
|
||||||
|
, typename Container = std::vector<Key> >
|
||||||
|
class flat_multiset;
|
||||||
|
|
||||||
|
template < typename Key
|
||||||
|
, typename Value
|
||||||
|
, typename Compare = std::less<Key>
|
||||||
|
, typename Container = std::vector<std::pair<Key, Value>> >
|
||||||
|
class flat_map;
|
||||||
|
|
||||||
|
template < typename Key
|
||||||
|
, typename Value
|
||||||
|
, typename Compare = std::less<Key>
|
||||||
|
, typename Container = std::vector<std::pair<Key, Value>> >
|
||||||
|
class flat_multimap;
|
||||||
|
}
|
||||||
@@ -6,25 +6,14 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <vector>
|
#include "flat_fwd.hpp"
|
||||||
#include <memory>
|
|
||||||
#include <utility>
|
|
||||||
#include <iterator>
|
|
||||||
#include <algorithm>
|
|
||||||
#include <functional>
|
|
||||||
#include <type_traits>
|
|
||||||
#include <initializer_list>
|
|
||||||
|
|
||||||
#include "detail/eq_compare.hpp"
|
|
||||||
#include "detail/pair_compare.hpp"
|
|
||||||
#include "detail/is_transparent.hpp"
|
|
||||||
|
|
||||||
namespace flat_hpp
|
namespace flat_hpp
|
||||||
{
|
{
|
||||||
template < typename Key
|
template < typename Key
|
||||||
, typename Value
|
, typename Value
|
||||||
, typename Compare = std::less<Key>
|
, typename Compare
|
||||||
, typename Container = std::vector<std::pair<Key, Value>> >
|
, typename Container >
|
||||||
class flat_map
|
class flat_map
|
||||||
: private detail::pair_compare<
|
: private detail::pair_compare<
|
||||||
typename Container::value_type,
|
typename Container::value_type,
|
||||||
|
|||||||
@@ -6,25 +6,14 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <vector>
|
#include "flat_fwd.hpp"
|
||||||
#include <memory>
|
|
||||||
#include <utility>
|
|
||||||
#include <iterator>
|
|
||||||
#include <algorithm>
|
|
||||||
#include <functional>
|
|
||||||
#include <type_traits>
|
|
||||||
#include <initializer_list>
|
|
||||||
|
|
||||||
#include "detail/eq_compare.hpp"
|
|
||||||
#include "detail/pair_compare.hpp"
|
|
||||||
#include "detail/is_transparent.hpp"
|
|
||||||
|
|
||||||
namespace flat_hpp
|
namespace flat_hpp
|
||||||
{
|
{
|
||||||
template < typename Key
|
template < typename Key
|
||||||
, typename Value
|
, typename Value
|
||||||
, typename Compare = std::less<Key>
|
, typename Compare
|
||||||
, typename Container = std::vector<std::pair<Key, Value>> >
|
, typename Container >
|
||||||
class flat_multimap
|
class flat_multimap
|
||||||
: private detail::pair_compare<
|
: private detail::pair_compare<
|
||||||
typename Container::value_type,
|
typename Container::value_type,
|
||||||
|
|||||||
@@ -6,23 +6,13 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <vector>
|
#include "flat_fwd.hpp"
|
||||||
#include <memory>
|
|
||||||
#include <utility>
|
|
||||||
#include <iterator>
|
|
||||||
#include <algorithm>
|
|
||||||
#include <functional>
|
|
||||||
#include <type_traits>
|
|
||||||
#include <initializer_list>
|
|
||||||
|
|
||||||
#include "detail/eq_compare.hpp"
|
|
||||||
#include "detail/is_transparent.hpp"
|
|
||||||
|
|
||||||
namespace flat_hpp
|
namespace flat_hpp
|
||||||
{
|
{
|
||||||
template < typename Key
|
template < typename Key
|
||||||
, typename Compare = std::less<Key>
|
, typename Compare
|
||||||
, typename Container = std::vector<Key> >
|
, typename Container >
|
||||||
class flat_multiset : private Compare {
|
class flat_multiset : private Compare {
|
||||||
using base_type = Compare;
|
using base_type = Compare;
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -6,23 +6,13 @@
|
|||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include <vector>
|
#include "flat_fwd.hpp"
|
||||||
#include <memory>
|
|
||||||
#include <utility>
|
|
||||||
#include <iterator>
|
|
||||||
#include <algorithm>
|
|
||||||
#include <functional>
|
|
||||||
#include <type_traits>
|
|
||||||
#include <initializer_list>
|
|
||||||
|
|
||||||
#include "detail/eq_compare.hpp"
|
|
||||||
#include "detail/is_transparent.hpp"
|
|
||||||
|
|
||||||
namespace flat_hpp
|
namespace flat_hpp
|
||||||
{
|
{
|
||||||
template < typename Key
|
template < typename Key
|
||||||
, typename Compare = std::less<Key>
|
, typename Compare
|
||||||
, typename Container = std::vector<Key> >
|
, typename Container >
|
||||||
class flat_set : private Compare {
|
class flat_set : private Compare {
|
||||||
using base_type = Compare;
|
using base_type = Compare;
|
||||||
public:
|
public:
|
||||||
|
|||||||
Reference in New Issue
Block a user