FE 0.13.1
Header-only C++ frontend library
Loading...
Searching...
No Matches
container.h File Reference
#include <type_traits>
#include <utility>
#include "fe/assert.h"
Include dependency graph for container.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  fe

Concepts

concept  fe::Stacklike
 Something which behaves like std::stack or std::priority_queue.
concept  fe::Queuelike
 Something which behaves like std::queue.

Functions

Helpers for Containers
template<Stacklike S>
S::value_type fe::pop (S &s)
template<Queuelike Q>
Q::value_type fe::pop (Q &q)
template<class C, class K>
auto fe::lookup (C &container, const K &key)
 Yields pointer to element (or the element itself if it is already a pointer), if found and nullptr otherwise.
template<class C, class K>
decltype(auto) fe::assert_lookup (C &container, const K &key)
 Looks up key in container, asserts that it exists, and returns a reference to the mapped value.
template<class C, class... Args>
auto fe::assert_emplace (C &container, Args &&... args)
 Invokes emplace on container, asserts that insertion actually happened, and returns the iterator.