FlatImage
A configurable Linux containerization system
Loading...
Searching...
No Matches
ns_concept::Container Concept Reference

Concept for standard library container types. More...

#include <concept.hpp>

Concept definition

Detailed Description

Concept for standard library container types.

Template Parameters
TThe type to check

Matches any instantiation of std::vector, std::deque, std::list, std::set, std::multiset, std::map, std::multimap, std::unordered_set, std::unordered_multiset, std::unordered_map, or std::unordered_multimap.

Containers must have:

  • value_type member type
  • Iterable via begin()/end()

Example:

template<Container T>
void process(const T& c) { for (const auto& item : c) { } }
static_assert(Container<std::vector<int>>);
static_assert(Container<std::map<std::string, int>>);
static_assert(!Container<int>);
static_assert(!Container<int[10]>); // C arrays are not containers

Definition at line 319 of file concept.hpp.