The Battle for Wesnoth  1.13.4+dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
name_generator.hpp
Go to the documentation of this file.
1 /*
2  Copyright (C) 2003 - 2016 by David White <[email protected]>
3  Part of the Battle for Wesnoth Project http://www.wesnoth.org/
4 
5  This program is free software; you can redistribute it and/or modify
6  it under the terms of the GNU General Public License as published by
7  the Free Software Foundation; either version 2 of the License, or
8  (at your option) any later version.
9  This program is distributed in the hope that it will be useful,
10  but WITHOUT ANY WARRANTY.
11 
12  See the COPYING file for more details.
13 */
14 
15 #ifndef NAME_GENERATOR_HPP_INCLUDED
16 #define NAME_GENERATOR_HPP_INCLUDED
17 
18 #include <string>
19 
21 public:
22  virtual std::string generate() const = 0;
23  virtual bool is_valid() const {return true;}
24  virtual ~name_generator() {}
25 };
26 
29 public:
30  proxy_name_generator(const name_generator& b) : base(b) {}
31  std::string generate() const override {return base.generate();}
32  bool is_valid() const override {return base.is_valid();}
33 };
34 
35 #endif
bool is_valid() const override
virtual bool is_valid() const
GLdouble GLdouble GLdouble b
Definition: glew.h:6966
const name_generator & base
virtual ~name_generator()
proxy_name_generator(const name_generator &b)
virtual std::string generate() const =0
std::string generate() const override
GLsizei const GLcharARB ** string
Definition: glew.h:4503