ValuePointerReferenceExample.cpp 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #include "ValuePointerReferenceExample.h"
  9. namespace ScriptCanvasTesting
  10. {
  11. namespace Nodeables
  12. {
  13. AZStd::vector<ScriptCanvas::Data::NumberType> ReturnTypeExample::ReturnByValue()
  14. {
  15. return m_internalVector;
  16. }
  17. AZStd::vector<ScriptCanvas::Data::NumberType>* ReturnTypeExample::ReturnByPointer()
  18. {
  19. return &m_internalVector;
  20. }
  21. AZStd::vector<ScriptCanvas::Data::NumberType>& ReturnTypeExample::ReturnByReference()
  22. {
  23. return m_internalVector;
  24. }
  25. AZStd::vector<ScriptCanvas::Data::NumberType> BranchInputTypeExample::GetInternalVector()
  26. {
  27. return m_internalVector;
  28. }
  29. void BranchInputTypeExample::BranchesOnInputType(AZStd::string inputType)
  30. {
  31. if (inputType == "Value")
  32. {
  33. CallByValue(m_internalVector);
  34. }
  35. else if (inputType == "Pointer")
  36. {
  37. CallByPointer(&m_internalVector);
  38. }
  39. }
  40. void InputTypeExample::ClearByValue(AZStd::vector<ScriptCanvas::Data::NumberType> input)
  41. {
  42. input.clear();
  43. }
  44. void InputTypeExample::ClearByPointer(AZStd::vector<ScriptCanvas::Data::NumberType>* input)
  45. {
  46. if (input)
  47. {
  48. input->clear();
  49. }
  50. }
  51. void InputTypeExample::ClearByReference(AZStd::vector<ScriptCanvas::Data::NumberType>& input)
  52. {
  53. input.clear();
  54. }
  55. }
  56. }