Annotation of parser3/src/classes/classes.C, revision 1.1.2.1
1.1.2.1 ! paf 1: /** @file
! 2: Parser: @b Methoded and Methoded_array classes.
! 3:
! 4: Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
! 5:
! 6: Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)
! 7:
! 8: $Id: double.C,v 1.21 2001/04/15 13:12:17 paf Exp $
! 9: */
! 10:
! 11: #include "m_base.h"
! 12:
! 13: // Methoded_array
! 14:
! 15: // global variable
! 16:
! 17: extern Methoded_array *methoded_array;
! 18:
! 19: // methods
! 20:
! 21: Methoded_array::Methoded_array(Pool& pool) : Array(pool) {
! 22: # include "classes.inc"
! 23: }
! 24:
! 25: static void configure_one(Array::Item *value, void *info) {
! 26: Request& r=*static_cast<Request *>(info);
! 27: Methoded *methoded=static_cast<Methoded *>(value);
! 28: methoded->configure(r);
! 29: }
! 30:
! 31: void Methoded_array::configure(Request& r) {
! 32: for_each(configure_one, &r);
! 33: }
! 34:
! 35: static void register_one(Array::Item *value, void *info) {
! 36: Request& r=*static_cast<Request *>(info);
! 37: Methoded *methoded=static_cast<Methoded *>(value);
! 38: methoded->register_directly_used(r);
! 39: }
! 40:
! 41: void Methoded_array::register_directly_used(Request& r) {
! 42: for_each(register_one, &r);
! 43: }
! 44:
! 45: // creator
! 46:
! 47: void init_methoded_array(Pool& pool) {
! 48: methoded_array=new(pool) Methoded_array(pool);
! 49: }
! 50:
E-mail: