Skip to content

Class jac::ValueVector

ClassList > jac > ValueVector

An owning contiguous sequence of JavaScript values. More...

  • #include <values.h>

Public Types

Type Name
typedef ValueVectorWeak::const_iterator const_iterator

Public Functions

Type Name
ValueVector (ContextRef ctx)
ValueVector (const ValueVector & other)
ValueVector (ValueVector && other) noexcept
ValueWeak at (std::size_t index) const
const_iterator begin () noexcept const
std::size_t capacity () noexcept const
void clear () noexcept
JSValue * data () noexcept
const JSValue * data () noexcept const
bool empty () noexcept const
const_iterator end () noexcept const
operator ValueVectorWeak () noexcept const
ValueVector & operator= (const ValueVector & other)
ValueVector & operator= (ValueVector && other) noexcept
ValueWeak operator[] (std::size_t index) const
void pop_back () noexcept
void push_back (ValueWeak value)
void push_back (Value && value)
void reserve (std::size_t capacity)
std::size_t size () noexcept const
void swap (ValueVector & other) noexcept
~ValueVector ()

Detailed Description

Copies retain every contained JavaScript value. Moves transfer ownership. Values inserted into the vector must belong to its context; violating this precondition is undefined behavior. Mutating raw data must preserve the same retain/free ownership invariant.

Public Types Documentation

typedef const_iterator

using jac::ValueVector::const_iterator =  ValueVectorWeak::const_iterator;

Public Functions Documentation

function ValueVector [1/3]

inline explicit jac::ValueVector::ValueVector (
    ContextRef ctx
) 

function ValueVector [2/3]

inline jac::ValueVector::ValueVector (
    const ValueVector & other
) 

function ValueVector [3/3]

inline jac::ValueVector::ValueVector (
    ValueVector && other
) noexcept

function at

inline ValueWeak jac::ValueVector::at (
    std::size_t index
) const

function begin

inline const_iterator jac::ValueVector::begin () noexcept const

function capacity

inline std::size_t jac::ValueVector::capacity () noexcept const

function clear

inline void jac::ValueVector::clear () noexcept

function data [1/2]

inline JSValue * jac::ValueVector::data () noexcept

function data [2/2]

inline const JSValue * jac::ValueVector::data () noexcept const

function empty

inline bool jac::ValueVector::empty () noexcept const

function end

inline const_iterator jac::ValueVector::end () noexcept const

function operator ValueVectorWeak

inline jac::ValueVector::operator ValueVectorWeak () noexcept const

function operator=

inline ValueVector & jac::ValueVector::operator= (
    const ValueVector & other
) 

function operator=

inline ValueVector & jac::ValueVector::operator= (
    ValueVector && other
) noexcept

function operator[]

inline ValueWeak jac::ValueVector::operator[] (
    std::size_t index
) const

function pop_back

inline void jac::ValueVector::pop_back () noexcept

function push_back [1/2]

inline void jac::ValueVector::push_back (
    ValueWeak value
) 

function push_back [2/2]

inline void jac::ValueVector::push_back (
    Value && value
) 

function reserve

inline void jac::ValueVector::reserve (
    std::size_t capacity
) 

function size

inline std::size_t jac::ValueVector::size () noexcept const

function swap

inline void jac::ValueVector::swap (
    ValueVector & other
) noexcept

function ~ValueVector

inline jac::ValueVector::~ValueVector () 


The documentation for this class was generated from the following file src/jac/machine/values.h