Oracle Coherence for C++ API
Release 3.6.0.0
E15728-01

- Main Page
- Namespaces
- Classes
- Files

- Alphabetical List
- Class List
- Class Hierarchy
- Class Members

# abstract_spec Class Template Reference

`#include <coherence/lang/abstract_spec.hpp>`

Inherits class_spec< T, E, I >.

List of all members.

## Detailed Description

### template<class T, class E = extends<Object>, class I = implements<>>
class coherence::lang::abstract_spec< T, E, I >

Helper for defining an abstract managed class.

Managed classes are implementations of coherence::lang::Object, and include a set of well known features, which are auto-generated by this helper class:

- Handle/View/Holder definitions
- super class definition
- virtual interface inheritance of up to 16 interfaces

The template takes three parameters:

- The name of the class being defined
- The defined classes parent class, indicated as extends<parent>
- An optional list of interfaces to implement, indicated as implements<i1, i2, ...>

A normal class definition would be:

     class Bar
       : public abstract_spec<Bar,
           extends<Object>,
           implements<SomeInterface, SomeOtherInterface> >
       {
       public:
           // normal abstract class definition....
       };

See also:
  extends

  implements

Author:
  mf 2008.07.14

## Public Types
typedef abstract_spec | this_spec
| Specification definition.
typedef abstract_spec | super
| Definition T's parent class.
typedef class_spec < T, E, I > | super_spec
| Definition of the spec's parent class.
## Public Member Functions
virtual size32_t | sizeOf () const =0
## Protected Member Functions
| abstract_spec ()
| Generate a set of proxy constructors matching the signatures of the parent class's constructors.

## Constructor & Destructor Documentation

abstract_spec | ( |  | ) | `[inline, protected]`

Generate a set of proxy constructors matching the signatures of the parent class's constructors.

NOTE: Compilation errors referencing this line likely indicate that class being defined by this spec makes calls a "super" constructor supplying a set of parameters for which there is no exact match on the parent class.

## Member Function Documentation

virtual size32_t sizeOf | ( |  | ) | const `[pure virtual]`

Pure virtual sizeOf definition ensures that the resulting class is abstract.

Reimplemented from class_spec.

The documentation for this class was generated from the following file:

- coherence/lang/abstract_spec.hpp

Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.