Files
Arquivotheca.Solaris-2.5/lib/fn/libxfn/FN_attribute.hh
seta75D 7c4988eac0 Init
2021-10-11 19:38:01 -03:00

51 lines
1.2 KiB
C++
Executable File

/*
* Copyright (c) 1993 - 1994 by Sun Microsystems, Inc.
*/
#ifndef _XFN_FN_ATTRIBUTE_HH
#define _XFN_FN_ATTRIBUTE_HH
#pragma ident "@(#)FN_attribute.hh 1.3 94/08/03 SMI"
#include <xfn/FN_identifier.hh>
#include <xfn/FN_attribute.h>
#include <xfn/FN_attrvalue.hh>
#include <xfn/misc_codes.h>
class FN_attribute_rep;
class FN_attribute {
public:
FN_attribute(const FN_identifier &id, const FN_identifier &syntax);
~FN_attribute();
FN_attribute(const FN_attribute &);
FN_attribute &operator=(const FN_attribute &);
const FN_identifier *identifier(void) const;
const FN_identifier *syntax(void) const;
unsigned int valuecount(void) const;
const FN_attrvalue *first(void *&iter_pos) const;
const FN_attrvalue *next(void *&iter_pos) const;
int add(const FN_attrvalue &av,
unsigned int exclusive = FN_OP_EXCLUSIVE);
int remove(const FN_attrvalue &av);
//%%% extensions
// compares identifier, syntax and attribute values
int operator==(const FN_attribute &)const;
int operator!=(const FN_attribute &)const;
protected:
FN_attribute_rep *rep;
static FN_attribute_rep *get_rep(const FN_attribute &);
FN_attribute(FN_attribute_rep *);
private:
FN_attribute();
};
#endif // _XFN_FN_ATTRIBUTE_HH