---
title: safeMetaCast
framework: kernel
role: pseudoSymbol
path: kernel/osmetaclassbase/1808126-safemetacast
---

# safeMetaCast

Casts an object is to the class managed by the given OSMetaClass.

## Declaration

```occ
static OSMetaClassBase * safeMetaCast( 
 const OSMetaClassBase *anObject, 
 const OSMetaClass *toMeta); 
```

## Parameters

- `anObject`: A pointer to the object to be cast.
- `toMeta`: A pointer to a constant OSMetaClass for the desired target type.

## Return Value

Return Value anObject if the object is derived from the class managed by toMeta, otherwise NULL.

## Overview

Overview It is far more convenient to use OSDynamicCast.

## See Also

### Miscellaneous

- [OSCheckTypeInst](kernel/oschecktypeinst.md)
- [OSDynamicCast](kernel/osdynamiccast.md)
- [OSMemberFunctionCast](kernel/osmemberfunctioncast.md)
- [OSSafeRelease](kernel/ossaferelease.md)
- [OSSafeReleaseNULL](kernel/ossafereleasenull.md)
- [OSTypeAlloc](kernel/ostypealloc.md)
- [OSTypeID](kernel/ostypeid.md)
- [OSTypeIDInst](kernel/ostypeidinst.md)
- [checkTypeInst](kernel/osmetaclassbase/1808042-checktypeinst.md)
- [getMetaClass](kernel/osmetaclassbase/1808051-getmetaclass.md)
- [getRetainCount](kernel/osmetaclassbase/1808060-getretaincount.md)
- [isEqualTo](kernel/osmetaclassbase/1808069-isequalto.md)
- [metaCast(const char *)](kernel/osmetaclassbase/1808075-metacast.md)
- [metaCast(const OSMetaClass *)](kernel/osmetaclassbase/1808082-metacast.md)
- [metaCast(const OSString *)](kernel/osmetaclassbase/1808090-metacast.md)
- [metaCast(const OSSymbol *)](kernel/osmetaclassbase/1808095-metacast.md)
- [release()](kernel/osmetaclassbase/1808103-release.md)
- [release(int)](kernel/osmetaclassbase/1808109-release.md)
- [retain](kernel/osmetaclassbase/1808117-retain.md)
- [serialize](kernel/osmetaclassbase/1808135-serialize.md)
- [taggedRelease(const void *)](kernel/osmetaclassbase/1808142-taggedrelease.md)
- [taggedRelease(const void *, const int)](kernel/osmetaclassbase/1808151-taggedrelease.md)
- [taggedRetain](kernel/osmetaclassbase/1808161-taggedretain.md)
