PineForge unreleased
Deterministic PineScript v6 backtest runtime — C ABI reference
Loading...
Searching...
No Matches
map.hpp File Reference
#include <pineforge/detail/o1_store.hpp>
#include <pineforge/detail/script_store.hpp>
#include <pineforge/na.hpp>
#include <pineforge/run_failure.hpp>
#include <pineforge/script_string.hpp>
#include <algorithm>
#include <array>
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <cstring>
#include <functional>
#include <iterator>
#include <limits>
#include <memory>
#include <mutex>
#include <stdexcept>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>
Include dependency graph for map.hpp:

Go to the source code of this file.

Data Structures

struct  pineforge::detail::PineMapKeyEqual< Key, bool >
 
struct  pineforge::detail::PineMapKeyEqual< Key, true >
 
struct  pineforge::detail::PineMapKeyHash< Key, bool >
 
struct  pineforge::detail::PineMapKeyHash< Key, true >
 
struct  pineforge::detail::MapStoreHolder
 
class  pineforge::detail::MapStoreScope
 
struct  pineforge::detail::MapExternalCodec< T >
 
struct  pineforge::detail::MapExternalCodec< ScriptString >
 
struct  pineforge::detail::MapStringRep
 
struct  pineforge::detail::MapReadCache< KeyRep, ValueRep, Slots >
 
struct  pineforge::detail::MapReadCache< KeyRep, ValueRep, Slots >::Entry
 
struct  pineforge::detail::MapHeader
 
struct  pineforge::detail::MapLinks
 
struct  pineforge::detail::MapImage
 
class  pineforge::detail::MapSequence< Elem >
 
class  pineforge::detail::MapSequence< Elem >::const_iterator
 
class  pineforge::PineMap< Key, Value >
 
class  pineforge::PineMap< Key, Value >::Snapshot
 

Namespaces

namespace  pineforge
 
namespace  pineforge::detail
 

Typedefs

template<typename T>
using pineforge::detail::PineMapBare = std::remove_cv_t<std::remove_reference_t<T>>
 
template<typename T>
using pineforge::detail::MapRepOf
 

Functions

void pineforge::detail::map_na_error (const char *what)
 
void pineforge::detail::map_capacity_error (int cap, const char *what)
 
template<class Base>
void pineforge::detail::map_invariant_error (const char *what)
 
std::shared_ptr< MapStoreHolder > & pineforge::detail::map_store_slot ()
 
std::shared_ptr< MapStoreHolder > pineforge::detail::map_current_store ()
 
MapStringRep pineforge::detail::map_string_encode (o1::Store &store, const std::string &text)
 
std::string pineforge::detail::map_string_decode (const o1::Store &store, const MapStringRep &rep)
 
bool pineforge::detail::map_string_equals (const o1::Store &store, const MapStringRep &rep, const std::string &text)
 
template<typename T>
MapRepOf< T > pineforge::detail::map_encode (o1::Store &store, const T &value)
 
template<typename T>
T pineforge::detail::map_decode (o1::Store &store, const MapRepOf< T > &rep, const std::shared_ptr< MapStoreHolder > &owner={})
 
template<typename T>
void pineforge::detail::map_retain (o1::Store &store, const MapRepOf< T > &rep)
 
template<typename T>
void pineforge::detail::map_release (o1::Store &store, const MapRepOf< T > &rep)
 
template<typename Key, typename Value>
bool pineforge::is_na (const PineMap< Key, Value > &map) noexcept
 

Variables

template<typename T>
constexpr bool pineforge::detail::is_pine_map_key_v
 
template<typename T>
constexpr bool pineforge::detail::is_pine_map_snapshot_value_v
 
constexpr const char * pineforge::detail::kMapStoreTransferError = "map store transfer is short"
 
constexpr const char * pineforge::detail::kMapSequenceRangeError = "map sequence index out of range"
 
constexpr std::size_t pineforge::detail::kMapInlineBytes = 24
 
template<typename T>
constexpr bool pineforge::detail::is_map_string_v = std::is_same_v<PineMapBare<T>, std::string>
 
template<typename T>
constexpr bool pineforge::detail::is_map_inline_v
 
constexpr std::size_t pineforge::detail::kMapReadCacheSlots = 8
 
constexpr std::uint32_t pineforge::detail::kMapNoBucket = ~std::uint32_t{0}
 
template<typename T>
constexpr bool pineforge::is_pine_map_snapshot_value_v