/usr/include/yacas/genericstructs.h is in yacas 1.3.6-2+b1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | /** \file genericstructs.h defines the class that handles structs and classes for plugins.
*/
#ifndef YACAS_GENERICSTRUCT_H
#define YACAS_GENERICSTRUCT_H
#include "yacasbase.h"
#include "genericobject.h"
#include "noncopyable.h"
/** \class GenericStruct This class maintains a pointer to some arbitrary
* object (which can be any thing). The plugin is responsible for supplying
* functions for manipulating such structs/classes/arrays. The Yacas core
* then needs to know nothing about the internals of such a struct.
*
* The struct is represented by a void pointer to the struct, a pointer
* to a function that can clean up the struct (used when automatically
* deleting the object), and a pointer to a text string representing the
* type of the object (useful for testing if the type passed as an argument
* to a function is correct).
*/
class GenericStruct : public GenericClass, NonCopyable
{
public:
GenericStruct(LispChar * aTypeName, void* aData, void (*aDestructor)(void*));
virtual ~GenericStruct();
virtual const LispChar * TypeName();
inline void* Data() {return iData;}
void* iData;
LispChar * iTypeName;
void (*iDestructor)(void* data);
};
#endif
|