1 /**
2  * @file SedParameter.h
3  * @brief Definition of the SedParameter class.
4  * @author DEVISER
5  *
6  * <!--------------------------------------------------------------------------
7  * This file is part of libSEDML. Please visit http://sed-ml.org for more
8  * information about SED-ML. The latest version of libSEDML can be found on
9  * github: https://github.com/fbergmann/libSEDML/
10  *
11 
12  * Copyright (c) 2013-2019, Frank T. Bergmann
13  * All rights reserved.
14  *
15 
16  * Redistribution and use in source and binary forms, with or without
17  * modification, are permitted provided that the following conditions are met:
18  *
19 
20  * 1. Redistributions of source code must retain the above copyright notice,
21  * this
22  * list of conditions and the following disclaimer.
23  * 2. Redistributions in binary form must reproduce the above copyright notice,
24  * this list of conditions and the following disclaimer in the documentation
25  * and/or other materials provided with the distribution.
26  *
27  * This library is free software; you can redistribute it and/or modify it
28  * under the terms of the GNU Lesser General Public License as published by the
29  * Free Software Foundation. A copy of the license agreement is provided in the
30  * file named "LICENSE.txt" included with this software distribution and also
31  * available online as http://sbml.org/software/libsbml/license.html
32  * ------------------------------------------------------------------------ -->
33  *
34  * @class SedParameter
35  * @sbmlbrief{sedml} TODO:Definition of the SedParameter class.
36  */
37 
38 
39 #ifndef SedParameter_H__
40 #define SedParameter_H__
41 
42 
43 #include <sedml/common/extern.h>
44 #include <sedml/common/sedmlfwd.h>
45 
46 
47 #ifdef __cplusplus
48 
49 
50 #include <string>
51 
52 
53 #include <sedml/SedBase.h>
54 #include <sbml/common/libsbml-namespace.h>
55 
56 
57 LIBSEDML_CPP_NAMESPACE_BEGIN
58 
59 
60 class LIBSEDML_EXTERN SedParameter : public SedBase
61 {
62 protected:
63 
64   /** @cond doxygenLibSEDMLInternal */
65 
66   double mValue;
67   bool mIsSetValue;
68 
69   /** @endcond */
70 
71 public:
72 
73   /**
74    * Creates a new SedParameter using the given SED-ML Level and @ p version
75    * values.
76    *
77    * @param level an unsigned int, the SED-ML Level to assign to this
78    * SedParameter.
79    *
80    * @param version an unsigned int, the SED-ML Version to assign to this
81    * SedParameter.
82    *
83    * @copydetails doc_note_setting_lv_pkg
84    */
85   SedParameter(unsigned int level = SEDML_DEFAULT_LEVEL,
86                unsigned int version = SEDML_DEFAULT_VERSION);
87 
88 
89   /**
90    * Creates a new SedParameter using the given SedNamespaces object @p
91    * sedmlns.
92    *
93    * @param sedmlns the SedNamespaces object.
94    *
95    * @copydetails doc_note_setting_lv_pkg
96    */
97   SedParameter(SedNamespaces *sedmlns);
98 
99 
100   /**
101    * Copy constructor for SedParameter.
102    *
103    * @param orig the SedParameter instance to copy.
104    */
105   SedParameter(const SedParameter& orig);
106 
107 
108   /**
109    * Assignment operator for SedParameter.
110    *
111    * @param rhs the SedParameter object whose values are to be used as the
112    * basis of the assignment.
113    */
114   SedParameter& operator=(const SedParameter& rhs);
115 
116 
117   /**
118    * Creates and returns a deep copy of this SedParameter object.
119    *
120    * @return a (deep) copy of this SedParameter object.
121    */
122   virtual SedParameter* clone() const;
123 
124 
125   /**
126    * Destructor for SedParameter.
127    */
128   virtual ~SedParameter();
129 
130 
131   /**
132    * Returns the value of the "value" attribute of this SedParameter.
133    *
134    * @return the value of the "value" attribute of this SedParameter as a
135    * double.
136    */
137   double getValue() const;
138 
139 
140   /**
141    * Predicate returning @c true if this SedParameter's "value" attribute is
142    * set.
143    *
144    * @return @c true if this SedParameter's "value" attribute has been set,
145    * otherwise @c false is returned.
146    */
147   bool isSetValue() const;
148 
149 
150   /**
151    * Sets the value of the "value" attribute of this SedParameter.
152    *
153    * @param value double value of the "value" attribute to be set.
154    *
155    * @copydetails doc_returns_success_code
156    * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
157    * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE,
158    * OperationReturnValues_t}
159    */
160   int setValue(double value);
161 
162 
163   /**
164    * Unsets the value of the "value" attribute of this SedParameter.
165    *
166    * @copydetails doc_returns_success_code
167    * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
168    * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
169    */
170   int unsetValue();
171 
172 
173   /**
174    * Returns the XML element name of this SedParameter object.
175    *
176    * For SedParameter, the XML element name is always @c "parameter".
177    *
178    * @return the name of this element, i.e. @c "parameter".
179    */
180   virtual const std::string& getElementName() const;
181 
182 
183   /**
184    * Returns the libSEDML type code for this SedParameter object.
185    *
186    * @copydetails doc_what_are_typecodes
187    *
188    * @return the SED-ML type code for this object:
189    * @sedmlconstant{SEDML_PARAMETER, SedTypeCode_t}.
190    *
191    * @copydetails doc_warning_typecodes_not_unique
192    *
193    * @see getElementName()
194    */
195   virtual int getTypeCode() const;
196 
197 
198   /**
199    * Predicate returning @c true if all the required attributes for this
200    * SedParameter object have been set.
201    *
202    * @return @c true to indicate that all the required attributes of this
203    * SedParameter have been set, otherwise @c false is returned.
204    *
205    *
206    * @note The required attributes for the SedParameter object are:
207    * @li "id"
208    * @li "value"
209    */
210   virtual bool hasRequiredAttributes() const;
211 
212 
213 
214   /** @cond doxygenLibSEDMLInternal */
215 
216   /**
217    * Write any contained elements
218    */
219   virtual void writeElements(LIBSBML_CPP_NAMESPACE_QUALIFIER XMLOutputStream&
220     stream) const;
221 
222   /** @endcond */
223 
224 
225 
226   /** @cond doxygenLibSEDMLInternal */
227 
228   /**
229    * Accepts the given SedVisitor
230    */
231   virtual bool accept(SedVisitor& v) const;
232 
233   /** @endcond */
234 
235 
236 
237   /** @cond doxygenLibSEDMLInternal */
238 
239   /**
240    * Sets the parent SedDocument
241    */
242   virtual void setSedDocument(SedDocument* d);
243 
244   /** @endcond */
245 
246 
247 
248 
249   #ifndef SWIG
250 
251 
252 
253   /** @cond doxygenLibSEDMLInternal */
254 
255   /**
256    * Gets the value of the "attributeName" attribute of this SedParameter.
257    *
258    * @param attributeName, the name of the attribute to retrieve.
259    *
260    * @param value, the address of the value to record.
261    *
262    * @copydetails doc_returns_success_code
263    * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
264    * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
265    */
266   virtual int getAttribute(const std::string& attributeName, bool& value)
267     const;
268 
269   /** @endcond */
270 
271 
272 
273   /** @cond doxygenLibSEDMLInternal */
274 
275   /**
276    * Gets the value of the "attributeName" attribute of this SedParameter.
277    *
278    * @param attributeName, the name of the attribute to retrieve.
279    *
280    * @param value, the address of the value to record.
281    *
282    * @copydetails doc_returns_success_code
283    * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
284    * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
285    */
286   virtual int getAttribute(const std::string& attributeName, int& value) const;
287 
288   /** @endcond */
289 
290 
291 
292   /** @cond doxygenLibSEDMLInternal */
293 
294   /**
295    * Gets the value of the "attributeName" attribute of this SedParameter.
296    *
297    * @param attributeName, the name of the attribute to retrieve.
298    *
299    * @param value, the address of the value to record.
300    *
301    * @copydetails doc_returns_success_code
302    * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
303    * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
304    */
305   virtual int getAttribute(const std::string& attributeName,
306                            double& value) const;
307 
308   /** @endcond */
309 
310 
311 
312   /** @cond doxygenLibSEDMLInternal */
313 
314   /**
315    * Gets the value of the "attributeName" attribute of this SedParameter.
316    *
317    * @param attributeName, the name of the attribute to retrieve.
318    *
319    * @param value, the address of the value to record.
320    *
321    * @copydetails doc_returns_success_code
322    * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
323    * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
324    */
325   virtual int getAttribute(const std::string& attributeName,
326                            unsigned int& value) const;
327 
328   /** @endcond */
329 
330 
331 
332   /** @cond doxygenLibSEDMLInternal */
333 
334   /**
335    * Gets the value of the "attributeName" attribute of this SedParameter.
336    *
337    * @param attributeName, the name of the attribute to retrieve.
338    *
339    * @param value, the address of the value to record.
340    *
341    * @copydetails doc_returns_success_code
342    * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
343    * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
344    */
345   virtual int getAttribute(const std::string& attributeName,
346                            std::string& value) const;
347 
348   /** @endcond */
349 
350 
351 
352   /** @cond doxygenLibSEDMLInternal */
353 
354   /**
355    * Predicate returning @c true if this SedParameter's attribute
356    * "attributeName" is set.
357    *
358    * @param attributeName, the name of the attribute to query.
359    *
360    * @return @c true if this SedParameter's attribute "attributeName" has been
361    * set, otherwise @c false is returned.
362    */
363   virtual bool isSetAttribute(const std::string& attributeName) const;
364 
365   /** @endcond */
366 
367 
368 
369   /** @cond doxygenLibSEDMLInternal */
370 
371   /**
372    * Sets the value of the "attributeName" attribute of this SedParameter.
373    *
374    * @param attributeName, the name of the attribute to set.
375    *
376    * @param value, the value of the attribute to set.
377    *
378    * @copydetails doc_returns_success_code
379    * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
380    * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
381    */
382   virtual int setAttribute(const std::string& attributeName, bool value);
383 
384   /** @endcond */
385 
386 
387 
388   /** @cond doxygenLibSEDMLInternal */
389 
390   /**
391    * Sets the value of the "attributeName" attribute of this SedParameter.
392    *
393    * @param attributeName, the name of the attribute to set.
394    *
395    * @param value, the value of the attribute to set.
396    *
397    * @copydetails doc_returns_success_code
398    * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
399    * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
400    */
401   virtual int setAttribute(const std::string& attributeName, int value);
402 
403   /** @endcond */
404 
405 
406 
407   /** @cond doxygenLibSEDMLInternal */
408 
409   /**
410    * Sets the value of the "attributeName" attribute of this SedParameter.
411    *
412    * @param attributeName, the name of the attribute to set.
413    *
414    * @param value, the value of the attribute to set.
415    *
416    * @copydetails doc_returns_success_code
417    * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
418    * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
419    */
420   virtual int setAttribute(const std::string& attributeName, double value);
421 
422   /** @endcond */
423 
424 
425 
426   /** @cond doxygenLibSEDMLInternal */
427 
428   /**
429    * Sets the value of the "attributeName" attribute of this SedParameter.
430    *
431    * @param attributeName, the name of the attribute to set.
432    *
433    * @param value, the value of the attribute to set.
434    *
435    * @copydetails doc_returns_success_code
436    * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
437    * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
438    */
439   virtual int setAttribute(const std::string& attributeName,
440                            unsigned int value);
441 
442   /** @endcond */
443 
444 
445 
446   /** @cond doxygenLibSEDMLInternal */
447 
448   /**
449    * Sets the value of the "attributeName" attribute of this SedParameter.
450    *
451    * @param attributeName, the name of the attribute to set.
452    *
453    * @param value, the value of the attribute to set.
454    *
455    * @copydetails doc_returns_success_code
456    * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
457    * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
458    */
459   virtual int setAttribute(const std::string& attributeName,
460                            const std::string& value);
461 
462   /** @endcond */
463 
464 
465 
466   /** @cond doxygenLibSEDMLInternal */
467 
468   /**
469    * Unsets the value of the "attributeName" attribute of this SedParameter.
470    *
471    * @param attributeName, the name of the attribute to query.
472    *
473    * @copydetails doc_returns_success_code
474    * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
475    * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
476    */
477   virtual int unsetAttribute(const std::string& attributeName);
478 
479   /** @endcond */
480 
481 
482 
483 
484   #endif /* !SWIG */
485 
486 
487 protected:
488 
489 
490   /** @cond doxygenLibSEDMLInternal */
491 
492   /**
493    * Adds the expected attributes for this element
494    */
495   virtual void addExpectedAttributes(LIBSBML_CPP_NAMESPACE_QUALIFIER
496     ExpectedAttributes& attributes);
497 
498   /** @endcond */
499 
500 
501 
502   /** @cond doxygenLibSEDMLInternal */
503 
504   /**
505    * Reads the expected attributes into the member data variables
506    */
507   virtual void readAttributes(
508                               const LIBSBML_CPP_NAMESPACE_QUALIFIER
509                                 XMLAttributes& attributes,
510                               const LIBSBML_CPP_NAMESPACE_QUALIFIER
511                                 ExpectedAttributes& expectedAttributes);
512 
513   /** @endcond */
514 
515 
516 
517   /** @cond doxygenLibSEDMLInternal */
518 
519   /**
520    * Writes the attributes to the stream
521    */
522   virtual void writeAttributes(LIBSBML_CPP_NAMESPACE_QUALIFIER XMLOutputStream&
523     stream) const;
524 
525   /** @endcond */
526 
527 
528 };
529 
530 
531 
532 LIBSEDML_CPP_NAMESPACE_END
533 
534 
535 
536 
537 #endif /* __cplusplus */
538 
539 
540 
541 
542 #ifndef SWIG
543 
544 
545 
546 
547 LIBSEDML_CPP_NAMESPACE_BEGIN
548 
549 
550 
551 
552 BEGIN_C_DECLS
553 
554 
555 /**
556  * Creates a new SedParameter_t using the given SED-ML Level and @ p version
557  * values.
558  *
559  * @param level an unsigned int, the SED-ML Level to assign to this
560  * SedParameter_t.
561  *
562  * @param version an unsigned int, the SED-ML Version to assign to this
563  * SedParameter_t.
564  *
565  * @copydetails doc_note_setting_lv_pkg
566  *
567  * @copydetails doc_returned_owned_pointer
568  *
569  * @memberof SedParameter_t
570  */
571 LIBSEDML_EXTERN
572 SedParameter_t *
573 SedParameter_create(unsigned int level, unsigned int version);
574 
575 
576 /**
577  * Creates and returns a deep copy of this SedParameter_t object.
578  *
579  * @param sp the SedParameter_t structure.
580  *
581  * @return a (deep) copy of this SedParameter_t object.
582  *
583  * @copydetails doc_returned_owned_pointer
584  *
585  * @memberof SedParameter_t
586  */
587 LIBSEDML_EXTERN
588 SedParameter_t*
589 SedParameter_clone(const SedParameter_t* sp);
590 
591 
592 /**
593  * Frees this SedParameter_t object.
594  *
595  * @param sp the SedParameter_t structure.
596  *
597  * @memberof SedParameter_t
598  */
599 LIBSEDML_EXTERN
600 void
601 SedParameter_free(SedParameter_t* sp);
602 
603 
604 /**
605  * Returns the value of the "id" attribute of this SedParameter_t.
606  *
607  * @param sp the SedParameter_t structure whose id is sought.
608  *
609  * @return the value of the "id" attribute of this SedParameter_t as a pointer
610  * to a string.
611  *
612  * @copydetails doc_returned_owned_char
613  *
614  * @memberof SedParameter_t
615  */
616 LIBSEDML_EXTERN
617 char *
618 SedParameter_getId(const SedParameter_t * sp);
619 
620 
621 /**
622  * Returns the value of the "name" attribute of this SedParameter_t.
623  *
624  * @param sp the SedParameter_t structure whose name is sought.
625  *
626  * @return the value of the "name" attribute of this SedParameter_t as a
627  * pointer to a string.
628  *
629  * @copydetails doc_returned_owned_char
630  *
631  * @memberof SedParameter_t
632  */
633 LIBSEDML_EXTERN
634 char *
635 SedParameter_getName(const SedParameter_t * sp);
636 
637 
638 /**
639  * Returns the value of the "value" attribute of this SedParameter_t.
640  *
641  * @param sp the SedParameter_t structure whose value is sought.
642  *
643  * @return the value of the "value" attribute of this SedParameter_t as a
644  * double.
645  *
646  * @memberof SedParameter_t
647  */
648 LIBSEDML_EXTERN
649 double
650 SedParameter_getValue(const SedParameter_t * sp);
651 
652 
653 /**
654  * Predicate returning @c 1 (true) if this SedParameter_t's "id" attribute is
655  * set.
656  *
657  * @param sp the SedParameter_t structure.
658  *
659  * @return @c 1 (true) if this SedParameter_t's "id" attribute has been set,
660  * otherwise @c 0 (false) is returned.
661  *
662  * @memberof SedParameter_t
663  */
664 LIBSEDML_EXTERN
665 int
666 SedParameter_isSetId(const SedParameter_t * sp);
667 
668 
669 /**
670  * Predicate returning @c 1 (true) if this SedParameter_t's "name" attribute is
671  * set.
672  *
673  * @param sp the SedParameter_t structure.
674  *
675  * @return @c 1 (true) if this SedParameter_t's "name" attribute has been set,
676  * otherwise @c 0 (false) is returned.
677  *
678  * @memberof SedParameter_t
679  */
680 LIBSEDML_EXTERN
681 int
682 SedParameter_isSetName(const SedParameter_t * sp);
683 
684 
685 /**
686  * Predicate returning @c 1 (true) if this SedParameter_t's "value" attribute
687  * is set.
688  *
689  * @param sp the SedParameter_t structure.
690  *
691  * @return @c 1 (true) if this SedParameter_t's "value" attribute has been set,
692  * otherwise @c 0 (false) is returned.
693  *
694  * @memberof SedParameter_t
695  */
696 LIBSEDML_EXTERN
697 int
698 SedParameter_isSetValue(const SedParameter_t * sp);
699 
700 
701 /**
702  * Sets the value of the "id" attribute of this SedParameter_t.
703  *
704  * @param sp the SedParameter_t structure.
705  *
706  * @param id const char * value of the "id" attribute to be set.
707  *
708  * @copydetails doc_returns_success_code
709  * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
710  * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE,
711  * OperationReturnValues_t}
712  * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t}
713  *
714  * Calling this function with @p id = @c NULL or an empty string is equivalent
715  * to calling SedParameter_unsetId().
716  *
717  * @memberof SedParameter_t
718  */
719 LIBSEDML_EXTERN
720 int
721 SedParameter_setId(SedParameter_t * sp, const char * id);
722 
723 
724 /**
725  * Sets the value of the "name" attribute of this SedParameter_t.
726  *
727  * @param sp the SedParameter_t structure.
728  *
729  * @param name const char * value of the "name" attribute to be set.
730  *
731  * @copydetails doc_returns_success_code
732  * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
733  * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t}
734  *
735  * Calling this function with @p name = @c NULL or an empty string is
736  * equivalent to calling SedParameter_unsetName().
737  *
738  * @memberof SedParameter_t
739  */
740 LIBSEDML_EXTERN
741 int
742 SedParameter_setName(SedParameter_t * sp, const char * name);
743 
744 
745 /**
746  * Sets the value of the "value" attribute of this SedParameter_t.
747  *
748  * @param sp the SedParameter_t structure.
749  *
750  * @param value double value of the "value" attribute to be set.
751  *
752  * @copydetails doc_returns_success_code
753  * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
754  * @li @sedmlconstant{LIBSEDML_INVALID_ATTRIBUTE_VALUE,
755  * OperationReturnValues_t}
756  * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t}
757  *
758  * @memberof SedParameter_t
759  */
760 LIBSEDML_EXTERN
761 int
762 SedParameter_setValue(SedParameter_t * sp, double value);
763 
764 
765 /**
766  * Unsets the value of the "id" attribute of this SedParameter_t.
767  *
768  * @param sp the SedParameter_t structure.
769  *
770  * @copydetails doc_returns_success_code
771  * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
772  * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
773  * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t}
774  *
775  * @memberof SedParameter_t
776  */
777 LIBSEDML_EXTERN
778 int
779 SedParameter_unsetId(SedParameter_t * sp);
780 
781 
782 /**
783  * Unsets the value of the "name" attribute of this SedParameter_t.
784  *
785  * @param sp the SedParameter_t structure.
786  *
787  * @copydetails doc_returns_success_code
788  * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
789  * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
790  * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t}
791  *
792  * @memberof SedParameter_t
793  */
794 LIBSEDML_EXTERN
795 int
796 SedParameter_unsetName(SedParameter_t * sp);
797 
798 
799 /**
800  * Unsets the value of the "value" attribute of this SedParameter_t.
801  *
802  * @param sp the SedParameter_t structure.
803  *
804  * @copydetails doc_returns_success_code
805  * @li @sedmlconstant{LIBSEDML_OPERATION_SUCCESS, OperationReturnValues_t}
806  * @li @sedmlconstant{LIBSEDML_OPERATION_FAILED, OperationReturnValues_t}
807  * @li @sedmlconstant{LIBSEDML_INVALID_OBJECT, OperationReturnValues_t}
808  *
809  * @memberof SedParameter_t
810  */
811 LIBSEDML_EXTERN
812 int
813 SedParameter_unsetValue(SedParameter_t * sp);
814 
815 
816 /**
817  * Predicate returning @c 1 (true) if all the required attributes for this
818  * SedParameter_t object have been set.
819  *
820  * @param sp the SedParameter_t structure.
821  *
822  * @return @c 1 (true) to indicate that all the required attributes of this
823  * SedParameter_t have been set, otherwise @c 0 (false) is returned.
824  *
825  *
826  * @note The required attributes for the SedParameter_t object are:
827  * @li "id"
828  * @li "value"
829  *
830  * @memberof SedParameter_t
831  */
832 LIBSEDML_EXTERN
833 int
834 SedParameter_hasRequiredAttributes(const SedParameter_t * sp);
835 
836 
837 
838 
839 END_C_DECLS
840 
841 
842 
843 
844 LIBSEDML_CPP_NAMESPACE_END
845 
846 
847 
848 
849 #endif /* !SWIG */
850 
851 
852 
853 
854 #endif /* !SedParameter_H__ */
855 
856 
857