Class: GenericValue

Inherits:
AutoC::Composite show all
Defined in:
lib/autoc/scaffold/generic_value.rb

Overview

Full-fledged value type equipped with dynamic memory management useful for testing & documentation purposes

Direct Known Subclasses

DocsValue

Constant Summary

Constants inherited from AutoC::Composite

AutoC::Composite::DEFINITIONS, AutoC::Composite::PRIVATE

Constants included from AutoC::Entity

AutoC::Entity::ReferenceSet

Constants included from AutoC::STD

AutoC::STD::ASSERT_H, AutoC::STD::BOOL, AutoC::STD::CHAR, AutoC::STD::COMPLEX, AutoC::STD::COMPLEX_H, AutoC::STD::DOUBLE, AutoC::STD::DOUBLE_COMPLEX, AutoC::STD::DOUBLE_T, AutoC::STD::FLOAT, AutoC::STD::FLOAT_COMPLEX, AutoC::STD::FLOAT_T, AutoC::STD::INT, AutoC::STD::INTMAX_T, AutoC::STD::INTPTR_T, AutoC::STD::INTTYPES_H, AutoC::STD::LONG, AutoC::STD::LONG_DOUBLE, AutoC::STD::LONG_DOUBLE_COMPLEX, AutoC::STD::LONG_LONG, AutoC::STD::MALLOC_H, AutoC::STD::MATH_H, AutoC::STD::PTRDIFF_T, AutoC::STD::SHORT, AutoC::STD::SIGNED_CHAR, AutoC::STD::SIZE_T, AutoC::STD::STDBOOL_H, AutoC::STD::STDDEF_H, AutoC::STD::STDLIB_H, AutoC::STD::STRING_H, AutoC::STD::UINTMAX_T, AutoC::STD::UINTPTR_T, AutoC::STD::UNSIGNED, AutoC::STD::UNSIGNED_CHAR, AutoC::STD::UNSIGNED_LONG, AutoC::STD::UNSIGNED_LONG_LONG, AutoC::STD::UNSIGNED_SHORT, AutoC::STD::WCHAR_T

Instance Attribute Summary

Attributes inherited from AutoC::Composite

#_master, #visibility

Attributes inherited from AutoC::Type

#signature

Instance Method Summary collapse

Methods inherited from AutoC::Composite

allocator, allocator=, decorator, decorator=, #defgroup, hasher, #hasher, hasher=, #identifier, #ingroup, #initialize, #inspect, #internal?, #memory, new, #prefix, #private?, #public?, #respond_to_missing?, #to_value, #type_tag

Methods included from AutoC::Entity

#<=>, #complexity, #dependencies, #forward_declarations, #implementation, #interface, #position, #references, #total_dependencies, #total_references

Methods inherited from AutoC::Type

abstract, #comparable?, #constructible?, #copy, #copyable?, #custom_constructible?, #custom_create, #default_constructible?, #default_create, #destroy, #destructible?, #hashable?, #initialize, #inspect, #orderable?, #to_s, #to_type

Constructor Details

This class inherits a constructor from AutoC::Composite

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class AutoC::Composite

Instance Method Details

#const_lvalueObject



32
# File 'lib/autoc/scaffold/generic_value.rb', line 32

def const_lvalue = @clv ||= AutoC::Value.new(self, constant: true, reference: true)

#const_rvalueObject



30
# File 'lib/autoc/scaffold/generic_value.rb', line 30

def const_rvalue = @crv ||= AutoC::Value.new(self, constant: true)

#lvalueObject



28
# File 'lib/autoc/scaffold/generic_value.rb', line 28

def lvalue = @lv ||= AutoC::Value.new(self, reference: true)

#render_interface(stream) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/autoc/scaffold/generic_value.rb', line 14

def render_interface(stream)
  super
  stream << %{
    /**
      @brief #{description}
    */
    typedef struct {
      int* value; /**< @private */
    } #{signature};
  }
end

#rvalueObject



26
# File 'lib/autoc/scaffold/generic_value.rb', line 26

def rvalue = @rv ||= AutoC::Value.new(self, reference: true)