1 // File: TDataStd_BooleanList.cxx
2 // Created: May 29 11:40:00 2007
3 // Author: Vlad Romashko
4 // <vladislav.romashko@opencascade.com>
5 // Copyright: Open CASCADE
7 #include <TDataStd_BooleanList.ixx>
8 #include <TDataStd_ListIteratorOfListOfByte.hxx>
10 //=======================================================================
13 //=======================================================================
14 const Standard_GUID& TDataStd_BooleanList::GetID()
16 static Standard_GUID TDataStd_BooleanListID ("23A9D60E-A033-44d8-96EE-015587A41BBC");
17 return TDataStd_BooleanListID;
20 //=======================================================================
21 //function : TDataStd_BooleanList
22 //purpose : Empty Constructor
23 //=======================================================================
24 TDataStd_BooleanList::TDataStd_BooleanList()
29 //=======================================================================
32 //=======================================================================
33 Handle(TDataStd_BooleanList) TDataStd_BooleanList::Set(const TDF_Label& label)
35 Handle(TDataStd_BooleanList) A;
36 if (!label.FindAttribute (TDataStd_BooleanList::GetID(), A))
38 A = new TDataStd_BooleanList;
39 label.AddAttribute(A);
44 //=======================================================================
47 //=======================================================================
48 Standard_Boolean TDataStd_BooleanList::IsEmpty() const
50 return myList.IsEmpty();
53 //=======================================================================
56 //=======================================================================
57 Standard_Integer TDataStd_BooleanList::Extent() const
59 return myList.Extent();
62 //=======================================================================
65 //=======================================================================
66 void TDataStd_BooleanList::Prepend(const Standard_Boolean value)
69 myList.Prepend( value ? 1 : 0 );
72 //=======================================================================
75 //=======================================================================
76 void TDataStd_BooleanList::Append(const Standard_Boolean value)
79 myList.Append( value ? 1 : 0 );
82 //=======================================================================
85 //=======================================================================
86 void TDataStd_BooleanList::Clear()
92 //=======================================================================
95 //=======================================================================
96 Standard_Boolean TDataStd_BooleanList::First() const
98 return myList.First() == 1;
101 //=======================================================================
104 //=======================================================================
105 Standard_Boolean TDataStd_BooleanList::Last() const
107 return myList.Last() == 1;
110 //=======================================================================
113 //=======================================================================
114 const TDataStd_ListOfByte& TDataStd_BooleanList::List() const
119 //=======================================================================
122 //=======================================================================
123 const Standard_GUID& TDataStd_BooleanList::ID () const
128 //=======================================================================
129 //function : NewEmpty
131 //=======================================================================
132 Handle(TDF_Attribute) TDataStd_BooleanList::NewEmpty () const
134 return new TDataStd_BooleanList();
137 //=======================================================================
140 //=======================================================================
141 void TDataStd_BooleanList::Restore(const Handle(TDF_Attribute)& With)
144 Handle(TDataStd_BooleanList) aList = Handle(TDataStd_BooleanList)::DownCast(With);
145 TDataStd_ListIteratorOfListOfByte itr(aList->List());
146 for (; itr.More(); itr.Next())
148 myList.Append(itr.Value());
152 //=======================================================================
155 //=======================================================================
156 void TDataStd_BooleanList::Paste (const Handle(TDF_Attribute)& Into,
157 const Handle(TDF_RelocationTable)& ) const
159 Handle(TDataStd_BooleanList) aList = Handle(TDataStd_BooleanList)::DownCast(Into);
161 TDataStd_ListIteratorOfListOfByte itr(myList);
162 for (; itr.More(); itr.Next())
164 aList->Append(itr.Value());
168 //=======================================================================
171 //=======================================================================
172 Standard_OStream& TDataStd_BooleanList::Dump (Standard_OStream& anOS) const
174 anOS << "BooleanList";