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_evolving () noexcept const
void is_evolving (bool v) noexcept
bool is_shared () noexcept const
Check if the underlying attribute is shared.
TimePoint last_modified () noexcept const
Get the last modification time of the attribute slot.
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 () 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
S< IAttributeSlot > clone (std::string_view name, bool allow_destroy) const
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 void do_share_from (const IAttributeSlot & other) noexcept = 0
virtual bool get_allow_destroy () noexcept const = 0
virtual IAttribute & get_attribute () noexcept = 0
virtual const IAttribute & get_attribute () noexcept const = 0
virtual bool get_is_evolving () noexcept const = 0
virtual TimePoint get_last_modified () noexcept const = 0
virtual std::string_view get_name () noexcept const = 0
virtual SizeT get_use_count () const = 0
void last_modified (const TimePoint & tp)
void make_owned ()
void rw_access ()
virtual void set_is_evolving (bool v) noexcept = 0
virtual void set_last_modified (const TimePoint & tp) noexcept = 0
void share_from (const IAttributeSlot & other) noexcept
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

Check if the underlying attribute is allowed to be destroyed.

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

function is_evolving [1/2]

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

function is_evolving [2/2]

void uipc::geometry::IAttributeSlot::is_evolving (
    bool v
) noexcept

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 last_modified [1/2]

Get the last modification time of the attribute slot.

TimePoint uipc::geometry::IAttributeSlot::last_modified () noexcept const

function name

Get the name of the attribute slot.

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

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

function type_name

Get the type name of data stored in the attribute slot.

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

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

function clone_empty

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_share_from

virtual void uipc::geometry::IAttributeSlot::do_share_from (
    const IAttributeSlot & other
) noexcept = 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_is_evolving

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

function get_last_modified

virtual TimePoint uipc::geometry::IAttributeSlot::get_last_modified () noexcept const = 0

function get_name

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

function get_use_count

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

function last_modified [2/2]

void uipc::geometry::IAttributeSlot::last_modified (
    const TimePoint & tp
) 

function make_owned

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

function rw_access

void uipc::geometry::IAttributeSlot::rw_access () 

function set_is_evolving

virtual void uipc::geometry::IAttributeSlot::set_is_evolving (
    bool v
) noexcept = 0

function set_last_modified

virtual void uipc::geometry::IAttributeSlot::set_last_modified (
    const TimePoint & tp
) noexcept = 0

function share_from

void uipc::geometry::IAttributeSlot::share_from (
    const IAttributeSlot & other
) noexcept

function use_count

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

Friends Documentation

friend AttributeFriend

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


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