1 /* This file is part of Shapes.
3 * Shapes is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 3 of the License, or
8 * Shapes is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with Shapes. If not, see <http://www.gnu.org/licenses/>.
16 * Copyright 2008, 2009 Henrik Tidefelt
19 #ifndef Shapes_Helpers_decls
20 #define Shapes_Helpers_decls
24 #include "Shapes_Lang_decls.h"
25 #include "Shapes_Kernel_decls.h"
26 #include "Shapes_Ast_decls.h"
27 #include "Shapes_Concrete_decls.h"
35 RefCountPtr
< const Lang::ElementaryPath2D
>
36 elementaryPathCast2D( const char * title
, Kernel::Arguments
& args
, size_t argNo
, const Ast::SourceLocation
& callLoc
);
37 RefCountPtr
< const Lang::ElementaryPath2D
>
38 elementaryPathCast2D( const RefCountPtr
< const Lang::Value
> & arg
, const Kernel::Continuation
* loc
);
39 RefCountPtr
< const Lang::ElementaryPath2D
>
40 elementaryPathTry2D( const RefCountPtr
< const Lang::Value
> & arg
);
42 pathTimeCast( const char * title
, const RefCountPtr
< const Lang::ElementaryPath2D
> & pRef
, Kernel::Arguments
& args
, size_t argNo
, const Ast::SourceLocation
& callLoc
);
44 pathTimeCast( const Lang::ElementaryPath2D
* p
, const Lang::Value
* tPtr
, const Kernel::Continuation
* loc
);
46 RefCountPtr
< const Lang::ElementaryPath3D
>
47 elementaryPathCast3D( const char * title
, Kernel::Arguments
& args
, size_t argNo
, const Ast::SourceLocation
& callLoc
);
48 RefCountPtr
< const Lang::ElementaryPath3D
>
49 elementaryPathCast3D( const RefCountPtr
< const Lang::Value
> & arg
, const Kernel::Continuation
* loc
);
50 RefCountPtr
< const Lang::ElementaryPath3D
>
51 elementaryPathTry3D( const RefCountPtr
< const Lang::Value
> & arg
);
53 pathTimeCast( const char * title
, const RefCountPtr
< const Lang::ElementaryPath3D
> & pRef
, Kernel::Arguments
& args
, size_t argNo
, const Ast::SourceLocation
& callLoc
);
55 pathTimeCast( const Lang::ElementaryPath3D
* p
, const Lang::Value
* tPtr
, const Kernel::Continuation
* loc
);
57 RefCountPtr
< const char > typeSetString( RefCountPtr
< const char > type1
, RefCountPtr
< const char > type2
);
58 RefCountPtr
< const char > typeSetString( RefCountPtr
< const char > type1
, RefCountPtr
< const char > type2
, RefCountPtr
< const char > type3
);
59 RefCountPtr
< const char > typeSetString( RefCountPtr
< const char > type1
, RefCountPtr
< const char > type2
, RefCountPtr
< const char > type3
, RefCountPtr
< const char > type4
);
60 RefCountPtr
< const char > typeSetString( RefCountPtr
< const char > type1
, RefCountPtr
< const char > type2
, RefCountPtr
< const char > type3
, RefCountPtr
< const char > type4
, RefCountPtr
< const char > type5
);
61 RefCountPtr
< const char > typeSetString( const std::list
< RefCountPtr
< const char > > types
);