source: git/Singular/attrib.h @ f6b5f0

spielwiese
Last change on this file since f6b5f0 was f6b5f0, checked in by Hans Schönemann <hannes@…>, 27 years ago
* hannes: change Log: and Header: to Id: git-svn-id: file:///usr/local/Singular/svn/trunk@73 2c84dea3-7e68-4137-9b89-c4e89433aadc
  • Property mode set to 100644
File size: 1.2 KB
Line 
1#ifndef ATTRIB_H
2#define ATTRIB_H
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/*
7* ABSTRACT
8*/
9#include <string.h>
10#include "structs.h"
11
12class sattr;
13typedef sattr * attr;
14class sattr
15{
16  public:
17    void Init() { memset(this,0,sizeof(*this)); }
18    char *  name;
19    void *  data;
20    attr    next;
21    int     atyp; /* the type of the attribut, describes the data field
22                  */
23
24    void Print();
25    attr Copy(); /* copy all arguments */
26    void * CopyA(); /* copy the data of this attribute */
27    attr set(char * s, void * data, int t);
28    attr get(char * s);
29    void kill();
30    void killAll();
31};
32
33void * atGet(idhdl root,char * name);
34void * atGet(leftv root,char * name);
35void atSet(idhdl root,char * name,void * data,int typ);
36void atSet(leftv root,char * name,void * data,int typ);
37void atKillAll(idhdl root);
38void atKill(idhdl root,char * name);
39
40BOOLEAN atATTRIB1(leftv res,leftv a);
41BOOLEAN atATTRIB2(leftv res,leftv a,leftv b);
42BOOLEAN atATTRIB3(leftv res,leftv a,leftv b,leftv c);
43BOOLEAN atKILLATTR1(leftv res,leftv a);
44BOOLEAN atKILLATTR2(leftv res,leftv a,leftv b);
45#endif
Note: See TracBrowser for help on using the repository browser.