def map()

in src/annotations.pyx [0:0]


    def map(self):
        cdef c_amqpvalue.AMQP_VALUE unmapped
        cdef c_amqpvalue.AMQP_VALUE mapped
        cdef c_amqpvalue.AMQP_VALUE unextracted
        cdef c_amqpvalue.AMQP_VALUE extracted
        unextracted = c_amqpvalue.amqpvalue_clone(<c_amqpvalue.AMQP_VALUE>self._c_value)
        extracted = c_amqpvalue.amqpvalue_get_inplace_described_value(unextracted)
        unmapped = c_amqpvalue.amqpvalue_clone(extracted)
        if <void*>unmapped == NULL:
            result = None
        elif c_amqpvalue.amqpvalue_get_map(unmapped, &mapped) == 0:
            if <void*>mapped == NULL:
                result = None
            else:
                result = copy.deepcopy(value_factory(mapped).value)
        else:
            result = None
        c_amqpvalue.amqpvalue_destroy(unextracted)
        return result