39 lines
718 B
Plaintext
39 lines
718 B
Plaintext
// Copyright (C) 2010, Guy Barrand. All rights reserved.
|
|
// See the file tools.license for terms.
|
|
|
|
#ifndef tools_wroot_icol
|
|
#define tools_wroot_icol
|
|
|
|
#include "../typedefs"
|
|
#include "../cid"
|
|
|
|
#include <string>
|
|
|
|
namespace tools {
|
|
namespace wroot {
|
|
class branch;
|
|
class base_leaf;
|
|
}}
|
|
|
|
namespace tools {
|
|
namespace wroot {
|
|
|
|
class icol {
|
|
public:
|
|
virtual ~icol(){}
|
|
public:
|
|
virtual void* cast(cid) const = 0;
|
|
virtual cid id_cls() const = 0;
|
|
public:
|
|
virtual void add() = 0;
|
|
virtual void set_def() = 0;
|
|
virtual const std::string& name() const = 0;
|
|
virtual void set_basket_size(uint32) = 0;
|
|
virtual branch& get_branch() const = 0;
|
|
virtual base_leaf* get_leaf() const = 0;
|
|
};
|
|
|
|
}}
|
|
|
|
#endif
|