~dominik-burgdoerfer/webplodder/0.4

« back to all changes in this revision

Viewing changes to libwesl/src/wesl/elements/function.hpp

  • Committer: Dominik Burgdörfer
  • Date: 2010-07-07 14:35:20 UTC
  • Revision ID: dominik@domachine-20100707143520-wpywl29fsg9quz54
restructured sources

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
// =======================================================================
 
2
// 
 
3
//       Filename:  function.hpp
 
4
// 
 
5
//    Description:  
 
6
// 
 
7
//        Version:  1.0
 
8
//        Created:  02.06.2010 21:54:35
 
9
//       Revision:  none
 
10
//       Compiler:  g++
 
11
// 
 
12
//         Author:  Dominik 'domachine' Burgdörfer (-), dominik.burgdoerfer@googlemail.com
 
13
//        Company:  -
 
14
// 
 
15
// =======================================================================
 
16
 
 
17
 
 
18
#ifndef  FUNCTION_INC
 
19
#define  FUNCTION_INC
 
20
#include "subroutine.hpp"
 
21
#include <iostream>
 
22
#include <vector>
 
23
#include <boost/shared_ptr.hpp>
 
24
 
 
25
namespace wesl {
 
26
    class CallInfo;
 
27
    class ElementStack;
 
28
 
 
29
    namespace types {
 
30
        class Object;
 
31
        typedef boost::shared_ptr<Object> ObjectPtr;
 
32
    }
 
33
 
 
34
    typedef boost::shared_ptr<types::Object> ObjectPtr;
 
35
 
 
36
    namespace elements {
 
37
        class Function : public Subroutine
 
38
        {
 
39
        public:
 
40
            Function(const boost::filesystem::path& sourcePath =
 
41
                                boost::filesystem::path(),
 
42
                    const std::vector<std::string>& argumentNameList =
 
43
                                std::vector<std::string>());
 
44
            virtual types::ObjectPtr call(CallInfo& callInfo);
 
45
        };
 
46
 
 
47
        typedef boost::shared_ptr<Function> FunctionPtr;
 
48
    }
 
49
}
 
50
#endif   // ----- #ifndef FUNCTION_INC  -----