Esempio n. 1
0
VariantValue& VariantValue::operator=(VariantValue&& rhs)
{
    //std::cout << "move assignemnt operator called" << std::endl;
    m_deleter(this);
    m_deleter = rhs.m_deleter;
    m_getter = rhs.m_getter;

    if (rhs.m_deleter == &deleterINT32) {
        new(&m_int32) ValueHolder<std::int32_t>(std::move(rhs.m_int32));
    } else if (rhs.m_deleter == &deleterDOUBLE) {
        new(&m_double) ValueHolder<double>(std::move(rhs.m_double));
    } else if (rhs.m_deleter == &deleterDEFAULT) {
        new(&m_impl) shared_ptr<IValueHolder>(std::move(rhs.m_impl));
    } else if (rhs.m_deleter == &deleterUINT8) {
        new(&m_uint8) ValueHolder<std::uint8_t>(std::move(rhs.m_uint8));
    } else if (rhs.m_deleter == &deleterINT8) {
        new(&m_int8) ValueHolder<std::int8_t>(std::move(rhs.m_int8));
    } else if (rhs.m_deleter == &deleterUINT16) {
        new(&m_uint16) ValueHolder<std::uint16_t>(std::move(rhs.m_uint16));
    } else if (rhs.m_deleter == &deleterINT16) {
        new(&m_int16) ValueHolder<std::int16_t>(std::move(rhs.m_int16));
    } else if (rhs.m_deleter == &deleterUINT32) {
        new(&m_uint32) ValueHolder<std::uint32_t>(std::move(rhs.m_uint32));
    } else if (rhs.m_deleter == &deleterUINT64) {
        new(&m_uint64) ValueHolder<std::uint64_t>(std::move(rhs.m_uint64));
    } else if (rhs.m_deleter == &deleterINT64) {
        new(&m_int64) ValueHolder<std::int64_t>(std::move(rhs.m_int64));
    } else if (rhs.m_deleter == &deleterFLOAT) {
        new(&m_float) ValueHolder<float>(std::move(rhs.m_float));
    } else if (rhs.m_deleter == &deleterSTRING) {
        new(&m_string) ValueHolder<std::string>(std::move(rhs.m_string));
    }
    return *this;
}
Esempio n. 2
0
 void disconnect()
 {
     if (m_deleter)
     {
         m_deleter();
         m_deleter = nullptr;
     }
 }
Esempio n. 3
0
	void AutotrainerSipCall::DeleteCall()
	{
		if (m_callDeleted) return;

		m_callDeleted = true;

		Close();
		m_deleter(this);
	}
Esempio n. 4
0
inline void Scoped<T>::reset()
{
	if (m_resource != m_null)
	{
		ASSERT(m_deleter != nullptr);

		m_deleter(m_resource);

		m_resource = m_null;
	}
}
Esempio n. 5
0
VariantValue& VariantValue::operator=(const VariantValue& rhs)
{
    //std::cout << "copy asignement operator called" << std::endl;
    m_deleter(this);
    m_deleter = rhs.m_deleter;
    m_getter = rhs.m_getter;

    if (rhs.m_deleter == &deleterINT32) {
        new(&m_int32) ValueHolder<std::int32_t>(rhs.m_int32);
    } else if (rhs.m_deleter == &deleterDOUBLE) {
        new(&m_double) ValueHolder<double>(rhs.m_double);
    } else if (rhs.m_deleter == &deleterDEFAULT) {
        m_deleter = deleterNULL;
        m_getter  = getterNULL;
        new(&m_impl) shared_ptr<IValueHolder>(rhs.m_impl->clone());
        if (m_impl.get() == nullptr) {
            deleterDEFAULT(this);
            throw std::runtime_error("type has no copy constructor");
        }
        m_deleter = deleterDEFAULT;
        m_getter  = getterDEFAULT;
    } else if (rhs.m_deleter == &deleterUINT8) {
        new(&m_uint8) ValueHolder<std::uint8_t>(rhs.m_uint8);
    } else if (rhs.m_deleter == &deleterINT8) {
        new(&m_int8) ValueHolder<std::int8_t>(rhs.m_int8);
    } else if (rhs.m_deleter == &deleterUINT16) {
        new(&m_uint16) ValueHolder<std::uint16_t>(rhs.m_uint16);
    } else if (rhs.m_deleter == &deleterINT16) {
        new(&m_int16) ValueHolder<std::int16_t>(rhs.m_int16);
    } else if (rhs.m_deleter == &deleterUINT32) {
        new(&m_uint32) ValueHolder<std::uint32_t>(rhs.m_uint32);
    } else if (rhs.m_deleter == &deleterUINT64) {
        new(&m_uint64) ValueHolder<std::uint64_t>(rhs.m_uint64);
    } else if (rhs.m_deleter == &deleterINT64) {
        new(&m_int64) ValueHolder<std::int64_t>(rhs.m_int64);
    } else if (rhs.m_deleter == &deleterFLOAT) {
        new(&m_float) ValueHolder<float>(rhs.m_float);
    } else if (rhs.m_deleter == &deleterSTRING) {
        new(&m_string) ValueHolder<std::string>(rhs.m_string);
    }
    return *this;
}
Esempio n. 6
0
MappedMemory::~MappedMemory()
{
  m_deleter(*this);
}