source: git/Singular/attrib.h @ 121d2ae

spielwiese
Last change on this file since 121d2ae was 6ce030f, checked in by Oleksandr Motsak <motsak@…>, 12 years ago
removal of the $Id$ svn tag from everywhere NOTE: the git SHA1 may be used instead (only on special places) NOTE: the libraries Singular/LIB/*.lib still contain the marker due to our current use of svn
  • Property mode set to 100644
File size: 1.6 KB
Line 
1#ifndef ATTRIB_H
2#define ATTRIB_H
3/****************************************
4*  Computer Algebra System SINGULAR     *
5****************************************/
6/*
7* ABSTRACT: attributes to leftv and idhdl
8*/
9#include <string.h>
10#include <kernel/structs.h>
11
12class sattr;
13typedef sattr * attr;
14class sattr
15{
16  public:
17    inline void Init() { memset(this,0,sizeof(*this)); }
18    const 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(const char * s, void * data, int t);
28    attr get(const char * s);
29    void kill(const ring r);
30    void killAll(const ring r);
31};
32
33void * atGet(idhdl root,const char * name);
34void * atGet(leftv root,const char * name);
35void * atGet(idhdl root,const char * name, int t, void *defaultReturnValue = NULL);
36void * atGet(leftv root,const char * name, int t);
37void atSet(idhdl root,const char * name,void * data,int typ);
38void atSet(leftv root,const char * name,void * data,int typ);
39void at_KillAll(idhdl root,const ring r);
40void at_KillAll(leftv root,const ring r);
41#define atKillAll(H) at_KillAll(H,currRing)
42void at_Kill(idhdl root,const char * name,const ring r);
43#define atKill(H,A) at_Kill(H,A,currRing)
44
45BOOLEAN atATTRIB1(leftv res,leftv a);
46BOOLEAN atATTRIB2(leftv res,leftv a,leftv b);
47BOOLEAN atATTRIB3(leftv res,leftv a,leftv b,leftv c);
48BOOLEAN atKILLATTR1(leftv res,leftv a);
49BOOLEAN atKILLATTR2(leftv res,leftv a,leftv b);
50#endif
Note: See TracBrowser for help on using the repository browser.