HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CVEX_Function.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: CVEX_Function.h ( CVEX Library, C++)
7  *
8  * COMMENTS: C++ interface to VEX. This class is used to hold
9  * a generated function.
10  */
11 
12 #ifndef __CVEX_Function__
13 #define __CVEX_Function__
14 
15 #include "CVEX_API.h"
16 #include <UT/UT_IntrusivePtr.h>
17 
18 class VEX_Assemble;
20 
21 /// @brief A class holding a VEX function.
22 ///
23 /// This will be created by something like the CVEX_Context::preloadFunction.
24 /// It can then be passed directly to loadFunction() to be used rather
25 /// than going to the global vex context function table.
27 {
28 public:
29  bool isValid() const { return myAssembly.get() != nullptr; }
30 
31  // Returns true if any export/import has this as a prefix.
32  bool hasParameterWithPrefix(const char *prefix);
33 private:
34  VEX_AssemblePtr myAssembly;
35  friend class CVEX_Context;
36 };
37 
38 #endif
39 
Call VEX from C++.
Definition: CVEX_Context.h:147
bool isValid() const
Definition: CVEX_Function.h:29
A class holding a VEX function.
Definition: CVEX_Function.h:26
#define CVEX_API
Definition: CVEX_API.h:10