#include <list>
#include <optional>
#include <set>
#include <string>
#include <string_view>
#include <map>
#include <vector>
#include <span>
#include <stdint.h>
Go to the source code of this file.
|
|
typedef std::list< std::string > | nix::Strings |
|
typedef std::set< std::string > | nix::StringSet |
|
typedef std::map< std::string, std::string > | nix::StringMap |
|
typedef std::map< std::string, std::string > | nix::StringPairs |
|
using | nix::Bytes = std::span<const char> |
| typedef std::string | nix::Path |
|
typedef std::string_view | nix::PathView |
|
typedef std::list< Path > | nix::Paths |
|
typedef std::set< Path > | nix::PathSet |
|
typedef std::vector< std::pair< std::string, std::string > > | nix::Headers |
|
| template<class T> |
| const T::mapped_type * | nix::get (const T &map, const typename T::key_type &key) |
|
template<class T> |
| T::mapped_type * | nix::get (T &map, const typename T::key_type &key) |
| template<class T> |
| const T::mapped_type & | nix::getOr (T &map, const typename T::key_type &key, const typename T::mapped_type &defaultValue) |
| template<class T> |
| std::optional< typename T::value_type > | nix::remove_begin (T &c) |
| template<class T> |
| std::optional< typename T::value_type > | nix::pop (T &c) |
| template<typename T, typename TIter = decltype(std::begin(std::declval<T>())), typename = decltype(std::end(std::declval<T>()))> |
| constexpr auto | nix::enumerate (T &&iterable) |
|
template<class... Ts> |
| | nix::overloaded (Ts...) -> overloaded< Ts... > |
◆ Path
◆ enumerate()
template<typename T, typename TIter = decltype(std::begin(std::declval<T>())), typename = decltype(std::end(std::declval<T>()))>
| auto nix::enumerate |
( |
T && | iterable | ) |
|
|
constexpr |
◆ get()
template<class T>
| const T::mapped_type * nix::get |
( |
const T & | map, |
|
|
const typename T::key_type & | key ) |
Get a value for the specified key from an associate container.
◆ getOr()
template<class T>
| const T::mapped_type & nix::getOr |
( |
T & | map, |
|
|
const typename T::key_type & | key, |
|
|
const typename T::mapped_type & | defaultValue ) |
Get a value for the specified key from an associate container, or a default value if the key isn't present.
◆ pop()
template<class T>
| std::optional< typename T::value_type > nix::pop |
( |
T & | c | ) |
|
Remove and return the first item from a container.
◆ remove_begin()
template<class T>
| std::optional< typename T::value_type > nix::remove_begin |
( |
T & | c | ) |
|
Remove and return the first item from a container.
◆ always_progresses
| NeverAsync nix::always_progresses |
|
inlineconstexpr |
Escape hatch to allow calling NeverAsync-marked code from functions that aren't themselves NeverAsync. this should only be used when no typelevel proof can be given for a call that's dynamically known to not block. using this is still forbidden in promises since blocking an executor, even on something known to complete, impedes progress.