| 1861 | } |
| 1862 | |
| 1863 | Value::~Value() { |
| 1864 | switch (type_) { |
| 1865 | case nullValue: |
| 1866 | case intValue: |
| 1867 | case uintValue: |
| 1868 | case realValue: |
| 1869 | case booleanValue: |
| 1870 | break; |
| 1871 | case stringValue: |
| 1872 | if (allocated_) |
| 1873 | releaseStringValue(value_.string_); |
| 1874 | break; |
| 1875 | #ifndef JSON_VALUE_USE_INTERNAL_MAP |
| 1876 | case arrayValue: |
| 1877 | case objectValue: |
| 1878 | delete value_.map_; |
| 1879 | break; |
| 1880 | #else |
| 1881 | case arrayValue: |
| 1882 | arrayAllocator()->destructArray(value_.array_); |
| 1883 | break; |
| 1884 | case objectValue: |
| 1885 | mapAllocator()->destructMap(value_.map_); |
| 1886 | break; |
| 1887 | #endif |
| 1888 | default: |
| 1889 | JSON_ASSERT_UNREACHABLE; |
| 1890 | } |
| 1891 | |
| 1892 | if (comments_) |
| 1893 | delete[] comments_; |
| 1894 | } |
| 1895 | |
| 1896 | Value& Value::operator=(Value other) { |
| 1897 | swap(other); |
nothing calls this directly
no test coverage detected