File:  [parser3project] / parser3 / src / doc / ClassExample3.dox
Revision 1.5: download - view: text, annotated - select for diffs - revision graph
Tue Mar 30 08:32:17 2004 UTC (22 years, 2 months ago) by paf
Branches: MAIN
CVS tags: release_3_5_1, release_3_5_0, release_3_4_6, release_3_4_5, release_3_4_4, release_3_4_3, release_3_4_2, release_3_4_1, release_3_4_0, release_3_3_0, release_3_2_3, release_3_2_2, release_3_2_1, release_3_2_0, release_3_1_6, release_3_1_5, release_3_1_4, release_3_1_3, paf_left, HEAD
merged bugfixes from 3.1.2, changed version to 3.1.3beta

/**	@page ClassExample3  Sample of creating class (methods and fields)

To create a class of your own, which
- could be constructed by users,
- has methods 
- AND fields
[like 'image' class], 
one need to create simple class, see @ref ClassExample1, 
and override Methoded::create_new_value to

@code
class MExample3 : public Methoded {
public: // VStateless_class
	
	Value *create_new_value(Pool& pool) { return new(pool) VExample3(pool); }
@endcode

This methods would be called when user would creates values of your type:
@verbatim
$variable[^example3::create[]]
@endverbatim

Here "VExample3", is value class, see ClassExample2.
It need not be registered, because it has Methoded::used_directly set to true.
But it should override:
	VStateless_class *get_class() { return example_class3; }
where example_class3 is global instance of MExample3.

*/

E-mail: