LeviLamina
Loading...
Searching...
No Matches
CompoundTagVariant Class Reference

Classes

class  Iterator
 

Public Types

using Types
 
using Variant = Types::to<::std::variant>
 
using iterator = Iterator<false>
 
using const_iterator = Iterator<true>
 

Public Member Functions

MCFOLD void $dtor ()
 
constexpr CompoundTagVariant (CompoundTagVariant &&)=default
 
LL_MAY_CONSTEXPR CompoundTagVariantoperator= (CompoundTagVariant &&)=default
 
constexpr CompoundTagVariant (CompoundTagVariant const &)=default
 
LL_MAY_CONSTEXPR CompoundTagVariantoperator= (CompoundTagVariant const &)=default
 
template<class T >
requires (requires(T o) { mTagStorage = std::move(o); })
constexpr CompoundTagVariantoperator= (T other)
 
constexpr CompoundTagVariant (std::nullptr_t)
 
bool operator== (CompoundTagVariant const &other) const
 
 CompoundTagVariant (Variant tag)
 
template<class T , class... Args>
constexpr CompoundTagVariant (std::in_place_type_t< T >, Args &&... args)
 
constexpr CompoundTagVariant (std::initializer_list< CompoundTag::TagMap::value_type > tagPairs)
 
 CompoundTagVariant (UniqueTagPtr &&tag)
 
 CompoundTagVariant (UniqueTagPtr const &tag)
 
template<std::derived_from< Tag > T>
constexpr CompoundTagVariant (T tag)
 
template<std::integral T>
constexpr CompoundTagVariant (T integer)
 
constexpr CompoundTagVariant (std::byte b)
 
constexpr CompoundTagVariant (float f)
 
constexpr CompoundTagVariant (double d)
 
constexpr CompoundTagVariant (std::string s)
 
constexpr CompoundTagVariant (std::string_view s)
 
template<size_t N>
constexpr CompoundTagVariant (char const (&str)[N])
 
iterator begin () noexcept
 
const_iterator begin () const noexcept
 
const_iterator cbegin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
const_iterator cend () const noexcept
 
constexpr Tag::Type index () const noexcept
 
constexpr Tag::Type getId () const noexcept
 
template<std::derived_from< Tag > T>
constexpr bool hold () const noexcept
 
constexpr bool hold (::Tag::Type type) const noexcept
 
constexpr bool is_array () const noexcept
 
constexpr bool is_binary () const noexcept
 
constexpr bool is_boolean () const noexcept
 
constexpr bool is_null () const noexcept
 
constexpr bool is_number_float () const noexcept
 
constexpr bool is_number_integer () const noexcept
 
constexpr bool is_object () const noexcept
 
constexpr bool is_string () const noexcept
 
constexpr bool is_number () const noexcept
 
constexpr bool is_primitive () const noexcept
 
constexpr bool is_structured () const noexcept
 
constexpr CompoundTag::TagMap const & items () const
 
constexpr CompoundTag::TagMap & items ()
 
bool contains (std::string_view key) const noexcept
 
bool contains (std::string_view key, Tag::Type type) const noexcept
 
template<std::derived_from< Tag > T>
bool contains (std::string_view key) const noexcept
 
constexpr size_t size () const noexcept
 
template<std::derived_from< Tag > T>
constexpr T & get ()
 
template<std::derived_from< Tag > T>
constexpr T const & get () const
 
Tagget ()
 
Tag const & get () const
 
template<std::derived_from< Tag > T>
constexpr T & emplace ()
 
UniqueTagPtroperator[] (size_t index)
 
UniqueTagPtr const & operator[] (size_t index) const
 
CompoundTagVariantoperator[] (std::string_view index)
 
CompoundTagVariant const & operator[] (std::string_view index) const
 
template<size_t N>
CompoundTagVariantoperator[] (char const (&index)[N])
 
template<size_t N>
CompoundTagVariant const & operator[] (char const (&index)[N]) const
 
UniqueTagPtr toUniqueCopy () const &
 
UniqueTagPtr toUnique () &&
 
LLNDAPI std::string toSnbt (SnbtFormat snbtFormat=SnbtFormat::PrettyFilePrint, uchar indent=4) const noexcept
 
std::string dump (uchar indent=4, SnbtFormat snbtFormat=SnbtFormat::PrettyFilePrint) const noexcept
 
void push_back (CompoundTagVariant val)
 
template<class T >
requires (std::is_arithmetic_v<T> && !ll::traits::is_char_v<T>)
constexpr operator T () const
 
 operator std::string const & () const
 
 operator std::string & ()
 
 operator std::string && () &&
 
 operator std::string_view () const
 

Static Public Member Functions

static LLNDAPI ll::Expected< CompoundTagVariantparse (std::string_view snbt, optional_ref< size_t > parsedLength=std::nullopt) noexcept
 
static CompoundTagVariant object (std::initializer_list< CompoundTag::TagMap::value_type > init={})
 
static CompoundTagVariant array (std::initializer_list< CompoundTagVariant > init={})
 

Public Attributes

Variant mTagStorage
 

Member Typedef Documentation

◆ Types

Initial value:
Definition ByteArrayTag.h:9
Definition ByteTag.h:9
Definition CompoundTag.h:13
Definition DoubleTag.h:9
Definition EndTag.h:9
Definition FloatTag.h:9
Definition Int64Tag.h:9
Definition IntArrayTag.h:9
Definition IntTag.h:9
Definition ListTag.h:12
Definition ShortTag.h:9
Definition StringTag.h:9
Definition Meta.h:197

The documentation for this class was generated from the following file: