Skip to content

Class uipc::geometry::IAttributeSlot

ClassList > uipc > geometry > IAttributeSlot

An abstract class to represent a geometries attribute slot in a geometries attribute collection.

  • #include <attribute_slot.h>

Inherited by the following classes: uipc::geometry::AttributeSlot

Public Functions

Type Name
IAttributeSlot () = default
IAttributeSlot (const IAttributeSlot &) = delete
IAttributeSlot (IAttributeSlot &&) noexcept
bool allow_destroy () noexcept const
Check if the underlying attribute is allowed to be destroyed.
bool is_shared () noexcept const
Check if the underlying attribute is shared.
std::string_view name () noexcept const
Get the name of the attribute slot.
IAttributeSlot & operator= (const IAttributeSlot &) = delete
IAttributeSlot & operator= (IAttributeSlot &&) noexcept
SizeT size () noexcept const
Json to_json (SizeT i) const
Json to_json () const
std::string_view type_name () noexcept const
Get the type name of data stored in the attribute slot.
virtual ~IAttributeSlot () = default

Protected Functions

Type Name
virtual IAttribute & attribute () noexcept
virtual const IAttribute & attribute () noexcept const
virtual S< IAttributeSlot > clone (std::string_view name, bool allow_destroy) const
virtual S< IAttributeSlot > clone_empty (std::string_view name, bool allow_destroy) const
virtual S< IAttributeSlot > do_clone (std::string_view name, bool allow_destroy) const = 0
virtual S< IAttributeSlot > do_clone_empty (std::string_view name, bool allow_destroy) const = 0
virtual void do_make_owned () = 0
virtual Json do_to_json (SizeT i) const = 0
virtual bool get_allow_destroy () noexcept const = 0
virtual IAttribute & get_attribute () noexcept = 0
virtual const IAttribute & get_attribute () noexcept const = 0
virtual std::string_view get_name () noexcept const = 0
virtual std::string_view get_type_name () noexcept const = 0
virtual SizeT get_use_count () const = 0
void make_owned ()
SizeT use_count () const

Public Functions Documentation

function IAttributeSlot [1/3]

uipc::geometry::IAttributeSlot::IAttributeSlot () = default

function IAttributeSlot [2/3]

uipc::geometry::IAttributeSlot::IAttributeSlot (
    const IAttributeSlot &
) = delete

function IAttributeSlot [3/3]

uipc::geometry::IAttributeSlot::IAttributeSlot (
    IAttributeSlot &&
) noexcept

function allow_destroy

bool uipc::geometry::IAttributeSlot::allow_destroy () noexcept const

function is_shared

Check if the underlying attribute is shared.

bool uipc::geometry::IAttributeSlot::is_shared () noexcept const

Returns:

true, if the underlying attribute is shared, more than one geometries reference to the underlying attribute.

Returns:

false, if the underlying attribute is owned, only this geometries reference to the underlying attribute.


function name

std::string_view uipc::geometry::IAttributeSlot::name () noexcept const

function operator=

IAttributeSlot & uipc::geometry::IAttributeSlot::operator= (
    const IAttributeSlot &
) = delete

function operator=

IAttributeSlot & uipc::geometry::IAttributeSlot::operator= (
    IAttributeSlot &&
) noexcept

function size

SizeT uipc::geometry::IAttributeSlot::size () noexcept const

function to_json [1/2]

Json uipc::geometry::IAttributeSlot::to_json (
    SizeT i
) const

function to_json [2/2]

Json uipc::geometry::IAttributeSlot::to_json () const

function type_name

std::string_view uipc::geometry::IAttributeSlot::type_name () noexcept const

function ~IAttributeSlot

virtual uipc::geometry::IAttributeSlot::~IAttributeSlot () = default

Protected Functions Documentation

function attribute [1/2]

virtual IAttribute & uipc::geometry::IAttributeSlot::attribute () noexcept

function attribute [2/2]

virtual const IAttribute & uipc::geometry::IAttributeSlot::attribute () noexcept const

function clone

virtual S< IAttributeSlot > uipc::geometry::IAttributeSlot::clone (
    std::string_view name,
    bool allow_destroy
) const

function clone_empty

virtual S< IAttributeSlot > uipc::geometry::IAttributeSlot::clone_empty (
    std::string_view name,
    bool allow_destroy
) const

function do_clone

virtual S< IAttributeSlot > uipc::geometry::IAttributeSlot::do_clone (
    std::string_view name,
    bool allow_destroy
) const = 0

function do_clone_empty

virtual S< IAttributeSlot > uipc::geometry::IAttributeSlot::do_clone_empty (
    std::string_view name,
    bool allow_destroy
) const = 0

function do_make_owned

virtual void uipc::geometry::IAttributeSlot::do_make_owned () = 0

function do_to_json

virtual Json uipc::geometry::IAttributeSlot::do_to_json (
    SizeT i
) const = 0

function get_allow_destroy

virtual bool uipc::geometry::IAttributeSlot::get_allow_destroy () noexcept const = 0

function get_attribute [1/2]

virtual IAttribute & uipc::geometry::IAttributeSlot::get_attribute () noexcept = 0

function get_attribute [2/2]

virtual const IAttribute & uipc::geometry::IAttributeSlot::get_attribute () noexcept const = 0

function get_name

virtual std::string_view uipc::geometry::IAttributeSlot::get_name () noexcept const = 0

function get_type_name

virtual std::string_view uipc::geometry::IAttributeSlot::get_type_name () noexcept const = 0

function get_use_count

virtual SizeT uipc::geometry::IAttributeSlot::get_use_count () const = 0

function make_owned

void uipc::geometry::IAttributeSlot::make_owned () 

function use_count

SizeT uipc::geometry::IAttributeSlot::use_count () const

Friends Documentation

friend AttributeFriend

template<typename T>
class uipc::geometry::IAttributeSlot::AttributeFriend (
    AttributeFriend
) 

friend backend_view

backend::BufferView uipc::geometry::IAttributeSlot::backend_view (
    const IAttributeSlot &
) noexcept


The documentation for this class was generated from the following file include/uipc/geometry/attribute_slot.h