~ubuntu-branches/ubuntu/trusty/plee-the-bear/trusty-proposed

« back to all changes in this revision

Viewing changes to bear-engine/core/src/engine/expr/linear_function.hpp

  • Committer: Bazaar Package Importer
  • Author(s): Julien Jorge, Julien Jorge
  • Date: 2010-11-17 20:13:34 UTC
  • mfrom: (6.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20101117201334-o4dp7uq437to7oxb
Tags: 0.5.1-1
[ Julien Jorge ]
* New upstream release (Closes: #565062, #546514).
* Add armhf architecture (Closes: #604689).
* Remove patches integrated upstream: rpath-editors.diff, rpath-game.diff,
  editors-menu-section.diff.
* Bump the Standard-Version, no changes.
* Update my email address.
* Set build dependency of libclaw to 1.6.0.
* Add the missing ${misc:Depends} in debian/control.
* List gettext translations in bear-factory.install and plee-the-bear.install.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
  Bear Engine
3
 
 
4
 
  Copyright (C) 2005-2009 Julien Jorge, Sebastien Angibaud
5
 
 
6
 
  This program is free software; you can redistribute it and/or modify it
7
 
  under the terms of the GNU General Public License as published by the
8
 
  Free Software Foundation; either version 2 of the License, or (at your
9
 
  option) any later version.
10
 
 
11
 
  This program is distributed in the hope that it will be useful, but WITHOUT
12
 
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13
 
  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
14
 
  more details.
15
 
 
16
 
  You should have received a copy of the GNU General Public License along
17
 
  with this program; if not, write to the Free Software Foundation, Inc.,
18
 
  51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19
 
 
20
 
  contact: plee-the-bear@gamned.org
21
 
 
22
 
  Please add the tag [Bear] in the subject of your mails.
23
 
*/
24
 
/**
25
 
 * \file linear_function.hpp
26
 
 * \brief An expression returning the result of a call of a function on any
27
 
 *        class instance.
28
 
 * \author Julien Jorge
29
 
 */
30
 
#ifndef __ENGINE_LINEAR_FUNCTION_HPP__
31
 
#define __ENGINE_LINEAR_FUNCTION_HPP__
32
 
 
33
 
#include "engine/expr/base_linear_expression.hpp"
34
 
 
35
 
namespace bear
36
 
{
37
 
  namespace engine
38
 
  {
39
 
    /**
40
 
     * \brief An expression returning the result of a call of a function on any
41
 
     *        class instance.
42
 
     *
43
 
     * The evaluation of this expression is m(*inst), where \a m is the function
44
 
     * passed to the constructor, and \a inst the pointer passed to the
45
 
     * constructor.
46
 
     *
47
 
     * \author Julien Jorge
48
 
     */
49
 
    template<typename FunctionType, typename PointerType>
50
 
    class linear_function:
51
 
      public base_linear_expression
52
 
    {
53
 
    public:
54
 
      linear_function( const PointerType& inst, FunctionType m );
55
 
 
56
 
      base_linear_expression* clone() const;
57
 
      double evaluate() const;
58
 
 
59
 
    private:
60
 
      /** \brief The class on which we call the function. */
61
 
      const PointerType m_value;
62
 
 
63
 
      /** \brief The member function to call. */
64
 
      FunctionType m_function;
65
 
 
66
 
    }; // class linear_function
67
 
 
68
 
    template<typename FunctionType, typename PointerType>
69
 
    linear_function<FunctionType, PointerType>
70
 
    linear_function_maker const PointerType& inst, FunctionType m);
71
 
 
72
 
  } // namespace engine
73
 
} // namespace bear
74
 
 
75
 
#include "engine/expr/impl/linear_function.tpp"
76
 
 
77
 
#endif // __ENGINE_LINEAR_FUNCTION_HPP__