class AutoC::HashMap::HashSet::AutoC::HashMap::HashSet::HashMap::Range

Public Instance Methods

_range(= _iterable._set.range) click to toggle source

@private

# File lib/autoc/hash_map.rb, line 281
  def _range = _iterable._set.range

private

  def configure
    super
    method(iterable._node.const_lvalue, :_view_node, { range: const_rvalue }, inline: true, visibility: :internal).configure do
      code %{
        assert(!#{empty.(range)});
        return #{_range.view_front.('range->set')};
      }
    end
    custom_create.configure do
      code %{
        assert(range);
        assert(iterable);
        #{_range.default_create.('range->set', '&iterable->set')};
      }
    end
    empty.configure do
      code %{
        assert(range);
        return #{_range.empty.('range->set')};
      }
    end
    pop_front.configure do
      code %{
        assert(range);
        #{_range.pop_front.('range->set')};
      }
    end
    view_front.configure do
      code %{
        assert(range);
        return &#{_view_node.(range)}->element;
      }
    end
    view_index_front.configure do
      code %{
        assert(range);
        return &#{_view_node.(range)}->index;
      }
    end
  end

end
configure() click to toggle source
Calls superclass method
# File lib/autoc/hash_map.rb, line 285
def configure
  super
  method(iterable._node.const_lvalue, :_view_node, { range: const_rvalue }, inline: true, visibility: :internal).configure do
    code %{
      assert(!#{empty.(range)});
      return #{_range.view_front.('range->set')};
    }
  end
  custom_create.configure do
    code %{
      assert(range);
      assert(iterable);
      #{_range.default_create.('range->set', '&iterable->set')};
    }
  end
  empty.configure do
    code %{
      assert(range);
      return #{_range.empty.('range->set')};
    }
  end
  pop_front.configure do
    code %{
      assert(range);
      #{_range.pop_front.('range->set')};
    }
  end
  view_front.configure do
    code %{
      assert(range);
      return &#{_view_node.(range)}->element;
    }
  end
  view_index_front.configure do
    code %{
      assert(range);
      return &#{_view_node.(range)}->index;
    }
  end
end
render_interface(stream) click to toggle source
# File lib/autoc/hash_map.rb, line 260
def render_interface(stream)
  if public?
    render_type_description(stream)
    stream << %{
      /**
        #{ingroup}
        @brief Opaque structure holding state of the hash map's range
        @since 2.0
      */
    }
  else
    stream << PRIVATE
  end
  stream << %{
    typedef struct {
      #{_range} set; /**< @private */
    } #{signature};
  }
end