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