35 #ifndef __EST_FEATURED_H__
36 #define __EST_FEATURED_H__
39 #include "EST_Features.h"
62 void clear_features();
64 void ensure_features(
void)
69 int f_Int(
const char *name,
int def)
const
70 {
return p_features?p_features->
I(name, def):def; }
71 int f_Int(
const char *name)
const
72 {
return p_features?p_features->
I(name):0; }
73 int f_I(
const char *name,
int def)
const
74 {
return f_Int(name, def);}
75 int f_I(
const char *name)
const
78 { ensure_features(); p_features->
set(name, val); }
79 void f_set_path(
const EST_String name,
int val)
80 { ensure_features(); p_features->
set_path(name, val); }
83 float f_Float(
const char *name,
float def)
const
84 {
return p_features?p_features->
F(name, def):def; }
85 float f_Float(
const char *name)
const
86 {
return p_features?p_features->
F(name):0.0; }
87 float f_F(
const char *name,
float def)
const
88 {
return f_Float(name, def);}
89 float f_F(
const char *name)
const
90 {
return f_Float(name);}
92 { ensure_features(); p_features->
set(name, val); }
93 void f_set_path(
const EST_String name,
float val)
94 { ensure_features(); p_features->
set_path(name, val); }
98 {
return p_features?p_features->
S(name, def):def; }
102 {
return f_String(name, def);}
104 {
return f_String(name);}
105 void f_set(
const EST_String name,
const char *val)
106 { ensure_features(); p_features->
set(name, val); }
107 void f_set_path(
const EST_String name,
const char *val)
108 { ensure_features(); p_features->
set_path(name, val); }
112 const EST_Val &f_Val(
const char *name)
const;
115 {
return f_Val(name, def);}
116 const EST_Val &f_V(
const char *name)
const
117 {
return f_Val(name);}
119 { ensure_features(); p_features->
set_val(name, val); }
121 { ensure_features(); p_features->
set_path(name, val); }
124 { ensure_features(); *p_features = f; }
127 {
return p_features && p_features->
present(name); }
130 {
if (p_features) p_features->
remove(name); }
139 {
if (p_features) ip.i.
begin(*p_features);}
140 void move_pointer_forwards(IPointer_feat &ip)
const
142 bool points_to_something(
const IPointer_feat &ip)
const
143 {
return ip.i != 0; }